我在尝试为我在命名空间中定义的枚举重载 += 运算符时遇到了一些问题。我不需要实际使用该运算符,但是,我正在使用的库 (boost::icl) 要求为我在区间图中存储的数据定义 += 运算符。每当我尝试编译下面的代码时,都会使用 Intel C++ 得到以下编译器错误:
error : enum "test::events" has no member "operator+="
有什么建议么?
测试.h:
namespace test {
enum events {
SHUTIN = 0,
ACTIVE,
RECOMPLETE,
CTI,
RTP
};
events & events::operator+= (const events &rhs);
}; // end namespace test
测试.cpp:
test::events & test::events::operator+= (const test::events &rhs) {
return *this;
}