Código
#include <windows.h> #include <stdio.h> struct people{ LPCTSTR name; LPCTSTR LastName; }; char temp[50]; int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ people Persons[]; // people * Persons; // <------- CRASH Persons[0].name = "Aaron"; Persons[0].LastName = "xkiz"; Persons[1].name = "John"; Persons[1].LastName = "Doe"; Persons[2].name = "John"; Persons[2].LastName = "Johnson"; for(int x=0; x<sizeof(Persons);x++){ sprintf(temp, "Person # %i: %s %s",x, Persons[x].name, Persons[x].LastName); OutputDebugString((LPCTSTR)temp); } return 0; }
lo cual devuelve el error:
Citar
....cpp(13) : error C2133: 'Persons' : unknown size
....cpp(23) : error C2070: illegal sizeof operand
....cpp(23) : error C2070: illegal sizeof operand
y la verdad no se como resolver eso, es posible hacer un array struct [] ???