示例代码:
#include <iostream>
struct Point {
inline static int x = 0;
inline static auto y = 1.0;
inline static decltype(y) z = 2;
};
int main()
{
Point p1;
p1.x = 10;
p1.y = 20.156;
p1.z = 30.23;
std::cout << "x: " << p1.x << " y: " << p1.y << " z: " << p1.z << std::endl;
std::cout << "y: " << Point::y << std::endl;
}
好奇怪,上次明明可以运行的居然报错。。。
报错:
E2860 无法将非静态数据成员声明为 inline
C7525 内联变量至少需要 "/std:c++17"
提示不是std:c++17
查看属性又确实是std:c++17以上版本。
突然发现不支持X86.。。。
在x86下:
切换X64,错误神奇的消失了。。。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)