opencv编程中的奇怪bug

来源:互联网 发布:2k16 mc乔丹捏脸数据 编辑:程序博客网 时间:2024/06/11 19:42

当运行以下代码时,

CvPoint rad1,rad2,rad3,rad4;       //four circle center points
 rad1=cvPoint(80,160),rad2=cvPoint(151,89),rad3=cvPoint(222,160),rad4=cvPoint(151,231);
 cvCircle(mi,rad1,50,fcol,CV_FILLED,CV_AA,0);   //paint the four circles
 cvCircle(mi,rad2,50,fcol,CV_FILLED,CV_AA,0);
 cvCircle(mi,rad3,50,fcol,CV_FILLED,CV_AA,0);
 cvCircle(mi,rad4,50,fcol,CV_FILLED,CV_AA,0);

出现错误如下:

F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(20) : error C2143: syntax error : missing ';' before 'constant'
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(21) : error C2440: '=' : cannot convert from 'struct CvPoint' to 'const int'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(21) : error C2440: '=' : cannot convert from 'struct CvPoint' to 'const int'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(21) : error C2440: '=' : cannot convert from 'struct CvPoint' to 'const int'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(21) : error C2440: '=' : cannot convert from 'struct CvPoint' to 'const int'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(22) : error C2664: 'cvCircle' : cannot convert parameter 2 from 'const int' to 'struct CvPoint'
        No constructor could take the source type, or constructor overload resolution was ambiguous
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(23) : error C2664: 'cvCircle' : cannot convert parameter 2 from 'const int' to 'struct CvPoint'
        No constructor could take the source type, or constructor overload resolution was ambiguous
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(24) : error C2664: 'cvCircle' : cannot convert parameter 2 from 'const int' to 'struct CvPoint'
        No constructor could take the source type, or constructor overload resolution was ambiguous
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(25) : error C2664: 'cvCircle' : cannot convert parameter 2 from 'const int' to 'struct CvPoint'
        No constructor could take the source type, or constructor overload resolution was ambiguous
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(29) : error C2143: syntax error : missing ')' before ';'
F:\C_Cpp_Pro\普通程序\moneyimg\moneyimg.cpp(29) : error C2660: 'cvPoint' : function does not take 3 parameters

对这个问题出现的真是很诡异,把rad1等变量换成rado,radt,radth,radf时,错误都没有了。我用的是opencv1.0版的。

原创粉丝点击