不确定如何在头文件中实现可访问的枚举
Not sure how to implement accessible enum in header file?
在头文件中有这样的内容
#ifndef blah
#define blah
enum DataType
{
TextData,
IntData
};
#endif
另一个文件是
#include "previousheaderdefinedabove"
int main(int argc, char *argv[])
{
std::cout << DataType::TextData;
return 1;
}
然而,当我试图编译时,我得到
main.cpp:13:18: error: expected a class or namespace
std::cout << DataType::TextData;
不知道我做错了什么,任何帮助是非常感激的!我见过枚举被用作类,但是否有理由认为名称空间不够用呢?
该enum既不是名称空间,也不是类;它的值与定义的作用域相同。在上面的示例中,枚举值位于全局命名空间中。
这意味着,在main中,你应该有
std::cout << TextData;
代替
std::cout << DataType::TextData;
相关文章:
- 如何正确实现和访问运算符的各种自定义枚举器
- 如何从实现接口的模板化类实例访问结构
- 如何为我的容器实现随机访问迭代器?
- 为什么在PIMPL中无法访问实现类的常量函数?
- 从模板参数包实例化的访问类实现
- 在C++中使用链表的堆栈实现中,访问结构体headNode成员count和top会导致运行时错误
- 如何创建一个接口,允许我访问C++中的按钮(和其他ui)函数,该函数是使用python中的MFC实现的
- 如何在 boost::msm 中实现可以访问状态机 (SM) 的后端/前端的"BaseState"
- std::unordered_map如何存储和比较其密钥,以实现无需订购即可快速访问元素?
- 在.cpp文件中实现时访问私有成员
- 使用TDD时隐藏文件访问实现详细信息
- 如何实现随机访问迭代器的"less than operator"?
- 在链表上实现随机访问迭代器
- C 从实现文件中访问私有静态成员
- 在C 中,可以用语法[i,j,..]实现访问数组元素的功能,而语法就像numpy中的ndarray样式一样
- 如何向 C++ 中无法访问其实现的类添加新函数
- C++ 访问数据的链表实现
- 在其他类中实现访问类
- BFS的STL实现:访问邻接列表时出现问题
- 允许通过基类(接口)访问,禁止通过派生类(具体实现)访问