const EPGState* NewEPGState[] =
{
&bootupState,
&standbyState,
&watchtvState,
&guideState,
&settingsState,
&easState,
&diagnosticsState
};
此代码有什么问题?我在'*'标记之前收到错误解析错误 您的回答将不胜感激。
答案 0 :(得分:0)
检查您使用的编译器版本,此代码编译良好 g ++版本4.1.2 20071124。 但在使用gcc编译时失败
我假设您已正确定义了类/结构EPGState,并且下面使用的所有变量都是相同的类型,即EPGState。
class EPGState
{
};
int main()
{
EPGState bootupState,standbyState;
const EPGState* NewEPGState[] =
{
&bootupState,
&standbyState
};
}
您是在编译步骤还是在运行时收到“解析错误”。 这个问题并不清楚。
我写了一些示例代码来测试。
#include<iostream>
int main()
{
int a;
int b;
int *ac[]={&a,&b};
return 0;
}
gcc版本4.1.2 20071124(Red Hat 4.1.2-42)
/tmp/cc6829sJ.o: In function __static_initialization_and_destruction_0(int, int)':
test1.cpp:(.text+0x4f): undefined reference to std::ios_base::Init::Init()
答案 1 :(得分:0)
你可能有
struct EPGState
{
...
struct EPGState bootupState =
{
...
的某个地方。
然后就是
const struct EPGState * NewEPGState[] =
{
&bootupState,
...