string im struct initialisieren



  • Hallo,

    ich habe folgendes Problem

    typedef struct 
    {
    	std::string sName;
    	int nPos;
    } BadFileName;
    BadFileName BadFileNames[] =
    {
    	{ ".",	0 },
    	{ "..", 0 },
    };
    

    wenn ich std::string verwende funktioniert das nicht. Verwende ich aber const char* geht das Ganze...

    typedef struct 
    {
    	const char *sName;
    	int nPos;
    } BadFileName;
    BadFileName BadFileNames[] =
    {
    	{ ".",	0 },
    	{ "..", 0 },
    };
    

    kann mir jemand erklären wieso?



  • ScriptGod schrieb:

    wenn ich std::string verwende funktioniert das nicht. Verwende ich aber const char* geht das Ganze...

    Was funktioniert denn nicht bzw. was ist denn die Fehlermeldung deines Compilers?
    Bei mir geht es mit std::string. Warum sollte es auch nicht gehen?



  • also ich benutz Visual C++ 6 und der Compiler bringt mit diese meldung

    ...
    error C2440: 'initializing' : cannot convert from 'char [2]' to 'BadFileName'
    No constructor could take the source type, or constructor overload resolution was ambiguous
    error C2440: 'initializing' : cannot convert from 'const int' to 'BadFileName'
    No constructor could take the source type, or constructor overload resolution was ambiguous
    ...


Anmelden zum Antworten