错误:"varName"未在此范围内声明
error: 'varName' was not declared in this scope
我想在我的图像中找到最大的轮廓(使用opencv和C++)。我读过这个帖子:在OpenCV中查找轮廓?和Draw使用areaContours(OpenCV)连接的最大元素,但我得到了错误:"varName"没有在这个范围内声明,这意味着编译器认为我没有声明那个变量,对吗?所以我的代码片段:
threshold(Img, Img, t, 255, CV_THRESH_BINARY_INV);
vector<vector<Point>> varName;
findContours(Img, varName, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
我得到了这个错误:
D:OpencvWorkspace....|50|error: 'varName' was not declared in this scope|
第50行是这个代码:
vector<vector<Point>> varName;
我的问题。为什么编译器问这个变量没有在我声明那个变量的那一行声明。有人能帮我吗?
您已经使用了c++11之前的标准编译器(正如您的评论中所证明的那样)。旧的标准在让解析器从operator>>()
中消除嵌套模板类型说明符中使用的一对闭角括号>>
的歧义时遇到了问题。因此,你不得不在它们之间写一个空格:
vector<vector<Point> > varName;
// ^ Note the space
Yups类πάΓταῥεῖ说问题是因为">"answers">"之间存在空格。所以我把声明改为:
vector<vector<Point>> varName;
这个:
vector<vector<Point> > varName;
通过在">"answers">"之间添加空格,错误就消失了。。感谢πάΓταῥεῖ
相关文章:
- 错误:未在此范围内声明'reverse'
- 错误:"imread"未在此范围内声明
- 未在此范围内声明错误 'xy'
- Socklen_t未在此范围内声明
- 错误:'[' 之前预期的非限定 id 和错误:'users'未在此范围内声明
- "Main"已在当前范围内声明
- c++ 变量在宏的扩展中没有在这个范围内声明
- C++ 在编译过程中 strtok 函数 Eclipse 说没有在范围内声明?
- 'num1'未在此范围内声明
- 如何找到在本地范围内声明的变量的地址?
- NT状态未在此范围内声明
- 变量未在此范围内声明 数组线性搜索
- 包含文件中的 Typdef "未在此范围内声明"
- 'ClassName'和'ClassInstance'未在此范围内声明
- C++ 中的类之间的数据重新循环 - 错误:'<class name>'未在此范围内声明
- 代码作为 C 文件工作,但不作为C++文件,错误:'__builtin_types_compatible_p'未在此范围内声明
- 如何修复错误:"vreinterpretq_u32_f64"未在此范围内声明 - 在Android上使用Eigen构建
- 如何修复C++中的"arrStud未在此范围内声明"错误
- 错误:"SHGetKnownFolderPath"未在此范围内声明
- 错误:'Sprite'未在此范围内声明