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

Posted

技术标签:

【中文标题】c++ 类未在范围内声明 - 从 main 调用【英文标题】:c++ class not declared in scope - called from main 【发布时间】:2015-11-24 08:01:48 【问题描述】:

已经卡了很长时间了。任何帮助将不胜感激。

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’ 类 FlexString

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

【问题讨论】:

【参考方案1】:

FlexString 属于命名空间linkedList

你必须使用作用域解析来访问这个类,像这样

linkedList::FlexString inputOne;

using 关键字省略命名空间

using namespace linkedList;

虽然我建议反对后者。最好明确地编写命名空间。

【讨论】:

以上是关于c++ 类未在范围内声明 - 从 main 调用的主要内容,如果未能解决你的问题,请参考以下文章

C++ Win API 函数'未在此范围内声明'

错误:未在此范围内声明“对象”

C++ 变量未在范围内声明

字符串未在此范围内声明 C++

C++ 错误:“QueryFullProcessImageNameA”未在此范围内声明

未在此范围内声明(C++ 中的数组)[关闭]