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

时间:2015-08-29 23:32:38

标签: c++ object scope 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:错误:未在此范围内声明'FlexString'   FlexString inputOne;   ^     FlexStringDemo.cpp:14:2:注意:建议替代:     在FlexStringDemo.cpp中包含的文件中:1:0:     FlexString.h:7:7:注意:'linkedList :: FlexString'      class FlexString {

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

1 个答案:

答案 0 :(得分:2)

FlexString属于命名空间linkedList

您必须使用范围解析来访问该类,例如

linkedList::FlexString inputOne;

using关键字省略命名空间

using namespace linkedList;

虽然我建议反对后者。编写命名空间表达是最好的。