我在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);
两者都工作正常,不会抛出错误。现在我可以通过将0x_0000替换为NULL_IS_NOT_NIL,但这是一个坏主意。我有没有理由得到这个错误?我错过了一些明显的东西吗?
答案 0 :(得分:2)
您已在头文件中进行了更改,但它们未在您的项目中反映出来。正如评论中所述,原因是它没有被推到正确的文件夹中。
答案 1 :(得分:0)
您忘了给enum
一个名称:您的代码段中缺少KROW
。
另一方面,如果您将其称为KROW
,则会出现重新定义错误。所以你需要提出一个不同的解决方案。 (除非您直接编辑系统头文件 - 但肯定不是......)