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
答案 0 :(得分:2)
您是否在之前的;
或class
声明中忘记了struct
?如果是,则将uint8_t
解释为变量名称,该变量名称是struct
或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