g++:没有在这个范围内声明
g++: was not declared in this scope
我已经在SO上彻底搜索了类似的线程,但一无所获。搜索"was not declare in this scope"会得到很多结果,但我认为这是不同的。
基本上,下面这行(在一个CertainClass.cpp文件中):
Archivo* arc;
生成:
error: ‘arc’ was not declared in this scope
选择不同的变量名没有区别。包含了Archivo类。
如果我尝试在CertainClass.h文件中定义一个这样的指针,它编译起来没有问题。
什么线索吗?
谢谢。
检查以确保您没有定义类实例或其他也称为Archivo的对象。例如,以下命令失败:
class Foo {
} Foo;
int main() {
Foo* boo;
}
错误:
test.cpp: In function ‘int main()’:
test.cpp:5: error: ‘boo’ was not declared in this scope
出现错误是因为*
被解释为对象Foo
和对象boo
之间的*
操作。
看看这是否真的是你的错误,试着写
class Archivo *arc;
似乎Archivo
类型在源文件的全局作用域中不可用。您可以使用g++ -E
对文件进行预处理,然后对其进行分析,以找出它没有定义或超出范围的原因。
相关文章:
- 错误:未在此范围内声明'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'未在此范围内声明