我已经在SO上彻底搜索了类似的线程,但一无所获。搜索“未在此范围内声明”会产生很多结果,但我认为这是不同的。
基本上,以下几行(在SomeClass.cpp文件中):
Archivo* arc;
产生:
error: ‘arc’ was not declared in this scope
选择不同的变量名称没有区别。包括Archivo类。
如果我尝试在SomeClass.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;
关于c++ - g++:未在此范围内声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17014640/