2014-02-28 108 views
0
const EPGState* NewEPGState[] = 
{ 
    &bootupState, 
    &standbyState, 
    &watchtvState, 
    &guideState, 
    &settingsState, 
    &easState, 
    &diagnosticsState 
}; 

此代碼有什麼問題?我在'*'令牌之前得到錯誤解析錯誤 您的答案將不勝感激。編譯器的版本,您使用的這些'*'令牌之前的解析錯誤

+4

可能EPGState不是有效的類型? – michaeltang

+1

顯示您在代碼中使用的EPGState和其他變量的聲明。 – const

+0

你可以擺出整個來源? –

回答

0

檢查,此代碼編譯以及對 G ++ 4.1.2版20071124. 但我假設你已經定義的類/結構EPGState正確和所有在用gcc

編譯失敗下面使用的變量是相同的類型,即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和編譯對於g ++。
  • gcc版本4.1.2 20071124(紅帽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()

+0

我不認爲在運行時'''標記之前可能會出現解析錯誤。除了程序會解析它自己的源代碼... – glglgl

+0

@glglgl噢,是的,它不會發生在上面列出的代碼中,除了有一些其他的「*」s文件正在被給定的程序解析。 – Singh

+1

'class'? 'iostream'? C? – alk

0

您probaly有

struct EPGState 
{ 
    ... 


struct EPGState bootupState = 
{ 
    ... 

地方。

然後是應

const struct EPGState * NewEPGState[] = 
{ 
    &bootupState, 
    ... 
相關問題