Array von Structs initialisieren



  • Ich habe ein Array von Structs und möchte das mit Konstanten initialisieren.

    struct Fehlermapping
    {
      HRESULT hr;
      const CString Fehlermeldung;
    };
    
    const CString err1 = "schwerer Fehler";
    const CString err2 = "mittlerer Fehler";
    const CString err3 = "kleiner Fehler";
    
    Fehlermapping Fehlermappings[] =
    {
      (-1, err1),
      (-2, err2),
      (-3, err3),
    };
    

    Compilermeldung:
    error C2440: 'initializing' : cannot convert from 'const class CString' to 'struct Fehlermapping'

    Ich habs auch mit geschweiften Klammern probiert
    Compilermeldung:
    error C2440: 'initializing' : cannot convert from 'const int' to 'struct Fehlermapping
    error C2440: 'initializing' : cannot convert from 'const class CString' to 'struct Fehlermapping'



  • IIRC:

    Fehlermapping Fehlermappings[] =
    {
      {-1, err1},
      {-2, err2},
      {-3, err3},
    };
    


  • #include <string>
    
    using namespace std;
    
    struct fehler
    {
    	fehler(int i, const string& s) :
    	i_(i),
    	s_(s)
    	{
    	}
    
    	int i_;
    	const string s_;
    };
    
    int main()
    {
    	string a("a"), b("b"), c("c");
    
    	fehler f[] = { fehler(-1, c), fehler(-2, b), fehler(-3, a) };
    
    	return 0;
    }
    

    mfg


Anmelden zum Antworten