Halli Hallo,
ich habe mir einen eigenen Header geschrieben und bekomme 2 Fehler ausgegeben:
mein Quellcode lautet wie folgt:
(main.cpp)
(__cFile.h)
(__cFile.cpp)
Ich weiß, dass es auch andere möglichkeiten gibt, Dateien zu löschen,
aber mich würde es trotzdem interessieren, wieso 'string' nicht deklariert sein sollte,
und wie ich die Fehler beheben kann.
ich habe mir einen eigenen Header geschrieben und bekomme 2 Fehler ausgegeben:
Code:
'__cFile.h' Line 18': error: 'string' has not been declared
'__cFile.h' Line 18': error: ISO C++ forbids declaration of 'ext_cDestination' with no type
mein Quellcode lautet wie folgt:
(main.cpp)
C++:
/***** C++-Header *****/
#include <iostream>
#include <conio.h>
/***** Klassen-Header *****/
#include "__cFile.h"
/***** Kontrollstruktur *****/
#ifdef __DEBUG
#define __DEBUG_OUTPUT(message) std::cout << "DEBUG: " << message << std::endl;
#else
#define __DEBUG_OUTPUT(message)
#endif
/***** Namespace *****/
using namespace std;
/***** Hauptprogramm *****/
int main()
{
cout << "Hello world!" << endl;
return 0;
}
(__cFile.h)
C++:
/***** C++-Header *****/
#include <string.h>
/***** Klasse *****/
class __cFile
{
/***** Private Variable *****/
private:
/***** Public Variable *****/
public:
/***** Private Function *****/
private:
/***** Public Function *****/
public:
bool Delete(string ext_cDestination);
};
(__cFile.cpp)
C++:
/***** Klassen-Header *****/
#include "__cFile.h"
bool __cFile::Delete(string ext_cDestination)
{
/***** Deklaration *****/
SHFILEOPSTRUCT sm_shFile; // Variablendeklaration für Befehl
CFileFind sm_cfData; //
bool sm_bNoError; //
/***** Definition *****/
sm_bNoError = false;
/***** Aktion *****/
if(sm_cfData.FindFile(ext_cDestination)) // Wenn die Datei vorhanden ist
{
ext_cDestination += '\0'; // Terminator dranhängen
ZeroMemory(&sm_shFile, sizeof(sm_shFile)); // Speicher räumen
sm_shFile.wFunc = FO_DELETE; // Befehl
sm_shFile.pFrom = ext_cDestination; // Ziel
sm_shFile.fFlags= FOF_ALLOWUNDO; // Aktion
SHFileOperation(&sm_shFile); // Operation durchführen
sm_bNoError = true; // Aktion durchgeführt
}
else // Wenn die Datei nicht vorhanden ist
sm_bNoError = false; // Aktion nicht durchgeführt
return sm_bNoError; // Funktion Terminieren
}
Ich weiß, dass es auch andere möglichkeiten gibt, Dateien zu löschen,
aber mich würde es trotzdem interessieren, wieso 'string' nicht deklariert sein sollte,
und wie ich die Fehler beheben kann.
Zuletzt bearbeitet von einem Moderator: