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 调用的主要内容,如果未能解决你的问题,请参考以下文章