Есть ли способ утверждать, что два константных выражения равны во время компиляции?
например. Я хочу, чтобы это вызвало ошибку времени компиляции
enum { foo=263, bar=264 };
SOME_EXPRESSION(foo,bar)
, но я хочу, чтобы это не приводило к ошибке
enum { foo=263, bar=263 };
SOME_EXPRESSION(foo,bar)
edit: вышесказанное было упрощено. Моя ситуация больше похожа на
some_other_file_I_dont_control.h:
class X
{
public:
enum { foo=263 };
}
my_file.h:
enum { bar=something+somethingelse }; // bar should equal X::foo
SOME_EXPRESSION(X::foo, bar)