c++ class 未在范围内声明 - 从 main 调用

c++ class not declared in scope - called from main

卡了好久了。任何帮助将不胜感激。

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”未在此范围内声明 弹性字符串输入一个; ^ FlexStringDemo.cpp:14:2: 注意:建议的替代方案: 在 FlexStringDemo.cpp:1:0 包含的文件中: FlexString.h:7:7: 注意:‘linkedList::FlexString’ class FlexString{

不知道为什么我不能创建 FlexString 对象,因为我已经包含了头文件。 提前致谢

FlexString 属于命名空间 linkedList.

您必须使用范围解析来访问 class,就像这样

linkedList::FlexString inputOne;

using 关键字省略命名空间

using namespace linkedList;

虽然我不推荐后者。明确地写命名空间是最好的。