VS10 在 uint8_t 下划线,表示它需要一个分号。
这是我的代码片段:-
uint8_t* pixelPtr = (uint8_t*)image.data; //this line shows the error (expected a ;)
然而,当我在代码中使用它时,它没有附加任何错误:-
typedef Scalar_<uint8_t> bgrPixel; //this line is error free
VS10 在 uint8_t 下划线,表示它需要一个分号。
这是我的代码片段:-
uint8_t* pixelPtr = (uint8_t*)image.data; //this line shows the error (expected a ;)
然而,当我在代码中使用它时,它没有附加任何错误:-
typedef Scalar_<uint8_t> bgrPixel; //this line is error free
您是否忘记了;
以前的class
或struct
声明?如果是这样,那么它被解释uint8_t
为一个变量名,它是那个struct
or的一个实例class
。
例如,如果您这样做:
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