现在被困了很长时间。任何帮助将非常感激。
FlexStringDemo.cpp-主
#include "FlexString.h"
#include <iostream>
using namespace std;
int main(){
FlexString inputOne;
return 0;
}
FlexString.h
#ifndef FLEXSTRING_H
#define FLEXSTRING_H
#include "LinkedList.h"
namespace linkedList{
class FlexString{
public:
FlexString();
FlexString(std::string input);
private:
LinkedList *list;
std::string data;
};
}
#endif
FlexString.cpp
#include "FlexString.h"
#include <iostream>
namespace linkedList{
FlexString::FlexString(){
list = new LinkedList();
}
FlexString::FlexString(string input){
list = new LinkedList();
}
}
我收到此错误消息:
FlexStringDemo.cpp: In function ‘int main()’:
FlexStringDemo.cpp:14:2:错误:在此范围内未声明“FlexString”
FlexString inputOne;
^
FlexStringDemo.cpp:14:2:注意:建议的替代方法:
在FlexStringDemo.cpp包含的文件中:1:0:
FlexString.h:7:7:注意:“linkedList::FlexString”
FlexString类{
不知道为什么我不能创建FlexString对象,因为我包含了头文件。
提前致谢
最佳答案
FlexString
属于命名空间linkedList
。
您必须使用范围解析来访问该类,像这样
linkedList::FlexString inputOne;
或者使用
using
关键字来省略 namespace using namespace linkedList;
虽然我反对后者。最好写出命名空间是最好的。
关于c++ - 未在范围中声明的C++类-从main调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32291706/