gpt4 book ai didi

c++ - 静态类成员无法识别,但仅适用于新版本的 C++ 编译

转载 作者:行者123 更新时间:2023-12-05 08:21:38 25 4
gpt4 key购买 nike

<分区>

以下代码无法识别静态类成员 static_member

但是,它适用于旧版本的编译器。我使用的编译器基于 clang

class my_class {
public:
static int static_member;
};

int main() {
my_class::static_member = 0;
}

要重现错误,请将上述文件另存为 c1.cpp 并运行:

VER_TAG=latest # or VER_TAG=3.1.8

docker run --rm -v $(pwd):/src emscripten/emsdk::$VER_TAG emcc /src/c1.cpp

导致错误:

wasm-ld: error: /tmp/emscripten_temp_o3wmmq8k/c1_0.o: undefined symbol: my_class::static_member

但是,如果我使用VER_TAG=2.0.22(编译器的早期版本),它工作正常。

我的代码有什么问题吗?还是跟编译器实现有关?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com