未在作用域内声明的c++类——从main调用



已经被卡住很长时间了。如有任何帮助,不胜感激。

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;

虽然我不建议后者。写命名空间的显式性是最好的。

相关内容

  • 没有找到相关文章

最新更新