odr-used变量的定义如下:
变量x,其名称显示为可能已评估的表达式 ex是odr-used,除非x满足出现在a中的要求 常量表达式(5.19),如果x是对象,则ex是元素 表达式e的潜在结果集,其中任何一个 左值到左值的转换(4.1)适用于e,或e是a 丢弃值表达式(第5条)。
据我所知ex
可以是包含x
作为潜在评估操作数的任何表达式,例如x++
或
int foo(int);
int x;
//...
x+=foo(x);
但在那种情况下,我不明白什么只是e
。