c++ - 错误 : enum was not declared in this scope

标签 c++

我在 ksql.h 中的枚举中添加了一个新值 (NULL_IS_NOT_NIL)

enum
{
    PKEY                  = 0x000001,
    NONCOLUMN             = 0x000010,
    EXPRESSION            = 0x000010,
    INSERTONLY            = 0x000100,
    NUMERIC               = 0x001000,
    NULL_IS_NOT_NIL       = 0x010000,

    MAXLEN_TABLENAME      = 50
};

不幸的是,这是:

Row.SetExtras ("COMMENT2", KROW::NULL_IS_NOT_NIL);

抛出错误。

db.cpp:7727: error: âNULL_IS_NOT_NILâ was not declared in this scope

另一方面

Row.SetExtras ("COMMENT2", 0x010000);

Row.SetExtras (vendor_id,  KROW::NUMERIC);

两者都工作正常并且不会抛出错误。现在我可以通过用 0x010000 替换 NULL_IS_NOT_NIL 来解决问题,但这是个坏主意。我收到此错误是有原因的吗?我错过了一些明显的东西吗?

最佳答案

您已经在头文件中进行了更改,但它们并未反射(reflect)在您的项目中。如评论中所述,原因是未将其推送到正确的文件夹。

关于c++ - 错误 : enum was not declared in this scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230737/

相关文章:

c++ - C/C++ 中的搜索字符串解析器

c++ - Xlib XSendEvent 单击事件在 Ubuntu 12.04 的某些窗口中不起作用

c++ - 快速回答子数组查询的高效算法

c++ - 类不存在默认构造函数但未默认传递

c++ - 从文件或cin和cout读取和写入

c++ - 引用嵌套模板参数

c++ - 用另一个字符串替换部分字符串(缺少第一个字符串)

c++ - 为什么这会导致 C2102 : '&' requires l-value

c++ - 为什么对齐是2的幂?

c++ - 如何使用 dlmopen 在不同线程中打开多个共享库?