C++|static const int 使用(用作函数实参)的陷阱(备考)

类静态const整型值作为函数参数时会带来undefined reference to的问题
有个函数 MyObject* MyClassA::getObject(int index) {}

定义了静态变量
类头文件
const static int THIS_OBJECT_ID= 2;
类实现
MyObject* a = factory->getObject(THIS_OBJECT_ID); //编译无错, 链接时报错
undefined reference to `GBLaBla::THIS_OBJECT_ID'
需强制转换Int
MyObject* a = factory->getObject((int)THIS_OBJECT_ID);

【C++|static const int 使用(用作函数实参)的陷阱(备考)】2个小时被这个问题难住, 衰

    推荐阅读