现在被困了很长时间。任何帮助将非常感激。

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/

10-10 20:19