Struktur in einem Array
-
Tagchen,
Ich habe diesen netten Code hier
//Test.hpp struct sStruct { std::string pattern; std::string mask; DWORD start; DWORD end; }; //Test.cpp static const sStruct structTable[] = { { "Pattern1" , "Mask1" , 0x10000 , 0x50}, { "Pattern2" , "Mask2" , 0x10000 , 0x50} }; void Test() { for(int i = 0; i < sizeof(structTable) / sizeof(structTable[0]); ++i) { std::cout << structTable[i].start << "|" << structTable[i].end << std::endl; } }
Leider wird bei Beidem 0 ausgegeben, hab ich eventuell irgendwas übersehen ?
-
Ich sehe keinen Fehler. Der steckt wohl in dem Code, den du nicht zeigst.
-
Mir ist gerade was aufgefallen.
Wenn ich das ganze lokal mache, funktionierts auch ;O
Jetzt frag ich mich, wieso?//Test.hpp struct sStruct { std::string pattern; std::string mask; DWORD start; DWORD end; }; //Test.cpp void Test() { static const sStruct structTable[] = { { "Pattern1" , "Mask1" , 0x10000 , 0x50}, { "Pattern2" , "Mask2" , 0x10000 , 0x50} }; for(int i = 0; i < sizeof(structTable) / sizeof(structTable[0]); ++i) { std::cout << structTable[i].start << "|" << structTable[i].end << std::endl; } }
-
Manni66 schrieb:
Ich sehe keinen Fehler. Der steckt wohl in dem Code, den du nicht zeigst.
Ich habe einen Verdacht, aber keine Lust zu spekulieren.
-
Ich habe den Verdacht dass campers Verdacht etwas mit dem
[suchbarer_fachbegriff]
static initialization order fiasco[/suchbarer_fachbegriff]
zu tun hat.