why the struct must be =================== typedef struct { ... etc .. } SetupRecord; CANNOT be ... =================== struct { ... etc .. } SetupRecord; =================== static const SetupRecord g_SetupRecordTable[] = { { TEST1, "gggg"}, }; =================== 1>main.cpp 1>d:\remote3\remote\remotedemo\app\remotedemo\main.cpp(10) : error C4430: missing type specifier - int assumed. Note: C++ does not sup****t default-int 1>d:\remote3\remote\remotedemo\app\remotedemo\main.cpp(10) : error C2146: syntax error : missing ';' before identifier 'g_SetupRecordTable' 1>d:\remote3\remote\remotedemo\app\remotedemo\main.cpp(10) : error C2373: 'SetupRecord' : redefinition; different type modifiers 1> d:\remote3\remote\remotedemo\app\remotedemo\main.cpp(8) : see declaration of 'SetupRecord' 1>d:\remote3\remote\remotedemo\app\remotedemo\main.cpp(10) : error C4430: missing type specifier - int assumed. Note: C++ does not sup****t default-int 1>d:\remote3\remote\remotedemo\app\remotedemo\main.cpp(11) : error C2078: too many initializers