- MSVC下没有这个要求,但gcc有
class A {
public:
static const int i = 3;
};
const int A::i; // 必须类外定义才能ODR-use
void f(const int& x) {}
int main()
{
f(A::i);
std::vector<int> v;
v.push_back(A::i);
}
- 如果没有类外定义,加个+也可以
int main()
{
f(+A::i);
std::vector<int> v;
v.push_back(+A::i);
}
网友评论