int main() {\n constexpr int i = 5;\n constexpr const int *p = &i;\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n编译上面的代码后:
\ng++ main.cpp\nRun Code Online (Sandbox Code Playgroud)\n这是错误:
\n\n\nmain.cpp: 在函数 \xe2\x80\x98int main()\xe2\x80\x99: \xe2\x95\x91
\n
\n~ \xe2\x95\x91main.cpp:3:28: 错误: \xe2\x80 \x98& i\xe2\x80\x99 不是常量表达式 \xe2\x95\x91
\n~ \xe2\x95\x91 3 | constexpr const int *p = &i; \xe2\x95\x91
\n~ \xe2\x95\x91 | ^~ \xe2\x95\x91
\n~ \xe2\x95\x91 \xe2\x95\x91
这是我的 g++ 版本:
\n \xe2\x95\x91Target: x86_64-pc-linux-gnu \xe2\x95\x91 \n \xe2\x95\x91Configured with: /build/gcc/src/gcc/configure --enable-languages=c,c++,a\xe2\x95\x91\n~ \xe2\x95\x91da,fortran,go,lto,objc,obj-c++,d --enable-bootstrap --prefix=/usr --libd\xe2\x95\x91\n~ \xe2\x95\x91ir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr\xe2\x95\x91\n~ \xe2\x95\x91/share/info …Run Code Online (Sandbox Code Playgroud)