0

我有这段代码:

static char szTop[] = "iMsg             wParam              lParam";
static char szUnd[] = "____             ______              ______";
static char szFormat[] = "%-16s%04X-%04X        %04X-%04X";
static char szBuffer[50];
static HWND hwndButton[NUM];

它给了我错误:

error C2143: syntax error : missing ']' before ';'
error C2143: syntax error : missing ';' before ']'

另一个代码是:

for(i=0;i<NUM;i++)
    hwndButton[i] = CreateWindow ( "button", button[i].text, WS_CHILD | WS_VISIBLE | button[i].style, cxChar, cyChar * (1+2*i), 20*cxChar, 7*cyChar/4, hwnd, (HMENU) i, ((LPCREATESTRUCT) lParam )->hInstance, NULL );
return 0;

这给了我错误:

error C2146: syntax error : missing ')' before identifier 'i'
error C2059: syntax error : ';'
error C2059: syntax error : ')'
error C2146: syntax error : missing ';' before identifier 'hwndButton

我之前将所需的东西定义为:

static char szTop[] = "iMsg     wParam              lParam";
static char szUnd[] = "____         ______      ______";
static char szFormat[] = "%-16s%04X-%04X        %04X-%04X";
static char szBuffer[50];
static HWND hwndButton[NUM];
static RECT rect;
static int cxChar,cyChar;
HDC hdc;
PAINTSTRUCT ps;
int i;
TEXTMETRIC tm;
4

1 回答 1

0

对于第一个,这可能是由于没有为类型或宏定义适当的位置,很可能是HWNDor NUM

对于第二个,它抱怨hwndButton在定义它之前使用了,这仅仅是因为第一个错误 - 该变量从未定义过,因为试图定义它的语句有早期的错误错误。

首先,验证您是否包含了正确的标题。我认为它在windef.h但通常包含在windows.h头文件中。

其次,确保在NUM某处实际定义了它。

我认为这可能NUM只是因为其中一个错误来自for循环语句,其中的windows.h东西没有被使用,而是NUM被使用。

于 2012-10-10T00:26:36.697 回答