已经被卡住很长时间了。如有任何帮助,不胜感激。
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: error: ' 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
关键字以省略
using namespace linkedList;
虽然我不建议后者。写命名空间的显式性是最好的。