[C++ Error] E2147 'CString' cannot start a parameter declaration



  • Will mir eine CRC32 Klasse erstellen aus Vorlage eines VC++ Source,
    ein etwas merkwürdiger Fehler taucht auf:

    C++ Error] E2147 'CString' cannot start a parameter declaration

    Die Stelle:

    class CRCdemo
    {
       public:
          unsigned long crc32_table[256];
          unsigned long Reflect(unsigned long ref, char ch);
          void Init_CRC32_Table();
          int Get_CRC(CString &text); <-- geht nich
    };
    

    ???
    Finde nichts im Netz zu diesem Fehler.



  • Vermutlich fehlt der Header für CString.

    Setze mal am Anfang ein

    #include <afx.h>
    

    ein



  • CString ist MFC, ich verwende den Builder, anstatt CString also char * text



  • Pansemuckl schrieb:

    CString ist MFC, ich verwende den Builder, anstatt CString also char * text

    Ähm nein, dann wird die Sache mit hoher Wahrscheinlichkeit nicht funktionieren.

    Wenn, solltest Du die String-Klasse durch eine String-Klasse ersetzen, nicht durch ein char* (das ist nämlich beim Kopieren, Zuweisen und Verknüpfen ganz anders im Verhalten).

    Also z.B. std::string aus der STL (#include <string>) oder AnsiString aus der VCL, wenn Du beim Builder bleiben willst.


Anmelden zum Antworten