现在已经坚持了很长一段时间。任何帮助将不胜感激。
FlexStringDemo.cpp - main
#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' class FlexString {
不知道为什么我无法创建FlexString对象,因为我已经包含了头文件。 提前致谢
答案 0 :(得分:2)
FlexString
属于命名空间linkedList
。
您必须使用范围解析来访问该类,例如
linkedList::FlexString inputOne;
或using
关键字省略命名空间
using namespace linkedList;
虽然我建议反对后者。编写命名空间表达是最好的。