使用枚举类的未定义符号
Undefined symbol using enum class
这可能是一个微不足道的问题,但我无法克服枚举类数据的问题:
enum class enumTest
{
VALUE0 = 0, VALUE1 = 1, VALUE2 = 2
};
void __fastcall TForm1::Button1Click (TObject* Sender)
{
int a = VALUE1;
}
我得到:错误:未定义的符号:"VALUE1"
将枚举类枚举更改为:
enum //class enumTest
编译器工作正常。
不幸的是,我无法做到这一点,因为它和许多其他声明一样被定义在TLB/OCX include文件中。这种情况发生在不同供应商的不同类型的OCX上。
enum class
被称为作用域枚举。您需要在枚举的范围中使用它的枚举器。例如,
int a = enumTest::VALUE1;
相关文章:
- vscode g++链路故障:体系结构x86_64的未定义符号
- 体系结构x86_64的未定义符号:std:terminate(),typeinfo,运算符delete[],运算符new
- C++ 中 dlsym 的未定义符号
- 仅在 MacOS 上析构函数的未定义符号
- OSX clang++:用于 cpp 文件中显式实例化模板的体系结构x86_64的未定义符号
- PCL 出错:体系结构x86_64 @pcl的未定义符号
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 体系结构x86_64的未定义符号:链接器错误
- C++ std::vector<int> 体系结构的未定义符号 x86_64:
- 生成文件:体系结构x86_64的未定义符号
- libc++abi未定义符号:_ZTVN10__cxxabif120__si-class_type_infoE
- Xcode"体系结构x86_64的未定义符号"
- 体系结构x86_64的未定义符号:找不到原因
- SWIG链接器:未定义符号:_ZN2cv8fastFreeEPv(cv::fastFree(void*))
- 如何修复架构x86_64的未定义符号,Boost Asio 1.58
- 在Qt5上去静态库:架构的未定义符号x86_64:
- 体系结构x86_64的未定义符号:c++/ h 文件和 cpp 文件
- 监视 SDK 下的未定义符号"__Unwind_SjLj_Unregister"
- 使用 Boost/Python 的未定义符号 - 复杂
- 建筑x86_64的未定义符号:"vtkDebugLeaksManager::vtkDebugLeaksManager()",引用自: