【发布时间】:2014-04-05 14:33:59
【问题描述】:
我有一个返回结构类型指针的函数。我想要的是 pFacialFeatures 指向与返回指针相同的地址。
struct Features
{
CvRect* face_;
CvRect* nose_;
CvRect* eyesPair_;
CvRect* rightEye_;
CvRect* leftEye_;
CvRect* mouth_;
};
Features* Detect()
{
Features* facialFeatures = (Features*) malloc(sizeof(Features));
return facialFeatures;
}
int main(int argc, char* argv[])
{
Features* pFacialFeatures;
pFacialFeatures = Detect();
}
它给了我错误:
IntelliSense:“Features *”类型的值不能分配给“Features *”类型的实体
注意:也许你会认为这个问题和这个one是一样的。在那个问题中,声明结构存在问题。我真的声明了struct。
【问题讨论】:
-
这是 C++ 代码。 @BLUEPIXY
-
这可能是智能感知问题吗?如果你继续编译会发生什么?
-
C++ 没有问题。您是否尝试将其编译为 C?
-
IntelliSense 有时会向您显示不存在的错误。代码在 VS11 下编译(至少如果我在代码中添加一个占位符
struct CvRect {int i;};并包含 stdlib.h)。 -
@KMetin 我问是因为如果您将该代码放入文件中并编译,则会出现更多错误。