Я думал, что для инициализации struct
на C++ все, что вы сделали, это имя struct
и переменная. Тем не менее, я получаю предупреждение, не инициализированное в этой функции предупреждения.Не удалось инициализировать структуру в C++
Как инициализировать LPCPINFO cpinfo struct
?
#include <iostream>
#include <string.h>
#include <sstream>
using namespace std;
const int MAX_DEFAULTCHAR = 2;
const int MAX_LEADBYTES = 12;
typedef struct _cpinfo {
unsigned int MaxCharSize;
char DefaultChar[MAX_DEFAULTCHAR];
char LeadByte[MAX_LEADBYTES];
} CPINFO, *LPCPINFO;
int main() {
LPCPINFO cpinfo;
cpinfo->DefaultChar[0]= 1;
cpinfo->DefaultChar[1]= 0;
cpinfo->LeadByte[0] = cpinfo->LeadByte[1] = 0;
cpinfo->MaxCharSize = 4;
cout << cpinfo->DefaultChar[0] << " " << cpinfo->DefaultChar[1] << " "
<< cpinfo->LeadByte[0] << " " <<cpinfo->LeadByte[1] << " "
<< cpinfo->MaxCharSize
<< endl;
return 0;
}
Да, вы используете только название структуры, но 'LPCPINFO' не так. – chris
Так что же LPCINFO? – Aaron
Кроме того, 'typedef struct' не требуется в программе на C++. Возможно, если бы вы определили ваши структуры на C++, у вас было бы меньше проблем с кодом. – PaulMcKenzie