2013-11-04 58 views
0

VS10強調uint8_t,表示它期望分號。uint8_t *預期的a;

這裏是我的代碼片段: -

uint8_t* pixelPtr = (uint8_t*)image.data; //this line shows the error (expected a ;) 

然而,當我使用它低下來我的代碼,沒有錯誤連接到它: -

typedef Scalar_<uint8_t> bgrPixel; //this line is error free 
+0

關於包括stdint.h,是的,我做到了! – BenjaminFranklin

+0

[非靜態成員參考]的可能重複(http://stackoverflow.com/questions/19763315/non-static-member-reference) – kfsone

回答

2

你忘了在一個;之前的classstruct聲明?如果是這樣,則它將uint8_t解釋爲變量名稱,該變量名稱是structclass的實例。

例如,如果你這樣做:

class clown 
{ 
    // yadda 
    // yadda 
    ... 
} // notice no semicolon here 

uint8_t *pixelPtr = (uint8_t*)image.data; 

編譯器有效地看到:

class clown 
{ 
    // yadda 
    // yadda 
    ... 
} uint8_t *pixelPtr = (uint8_t*)image.data; 

自然希望uint8_t後一個分號,所以它看起來更像是這樣的:

class clown 
{ 
    // yadda 
    // yadda 
    ... 
} uint8_t; // which would declare an instance of class clown named uint8_t 
+0

哇,我覺得很愚蠢!感謝您的幫助,我沒有在上面的行中包含分號。我會標記你的答案是正確的!顯然,我只能在7分鐘內做到這一點...無論如何再次感謝! – BenjaminFranklin

+0

很高興幫助。比我犯過這個錯誤的人聰明得多。我想我們都直接學會了這個在膝蓋上刮傷膝蓋的人。 –

+0

非常真實!再次感謝。 – BenjaminFranklin