gpt4 book ai didi

c++ - 'dummy' 可以在未初始化的情况下使用

转载 作者:行者123 更新时间:2023-12-02 18:27:23 24 4
gpt4 key购买 nike

我在运行 clion 项目 stepik 文件时遇到问题。不断出现以下错误。我有一个编译器,我可以运行其他代码,但有些代码不起作用。

In file included from /home/gergoszabo/CLionProjects/Prog2_08/test-framework/googletest-src/googletest/src/gtest-all.cc:42:
/home/gergoszabo/CLionProjects/Prog2_08/test-framework/googletest-src/googletest/src/gtest-death-test.cc: In function ‘bool testing::internal::StackGrowsDown()’:
/home/gergoszabo/CLionProjects/Prog2_08/test-framework/googletest-src/googletest/src/gtest-death-test.cc:1224:24: error: ‘dummy’ may be used uninitialized [-Werror=maybe-uninitialized]
1224 | StackLowerThanAddress(&dummy, &result);
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/home/gergoszabo/CLionProjects/Prog2_08/test-framework/googletest-src/googletest/src/gtest-death-test.cc:1214:13: note: by argument 1 of type ‘const void*’ to ‘void testing::internal::StackLowerThanAddress(const void*, bool*)’ declared here
1214 | static void StackLowerThanAddress(const void* ptr, bool* result) {
| ^~~~~~~~~~~~~~~~~~~~~
/home/gergoszabo/CLionProjects/Prog2_08/test-framework/googletest-src/googletest/src/gtest-death-test.cc:1222:7: note: ‘dummy’ declared here
1222 | int dummy;
| ^~~~~
cc1plus: all warnings being treated as errors
gmake[3]: *** [../test-framework/googletest-build/googlemock/gtest/CMakeFiles/gtest.dir/build.make:72: ../test-framework/googletest-build/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:587: ../test-framework/googletest-build/googlemock/gtest/CMakeFiles/gtest.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:1394: lesson1/labbeli/CMakeFiles/global-lesson1-labbeli-test.dir/rule] Error 2
gmake: *** [Makefile:598: global-lesson1-labbeli-test] Error 2

最佳答案

这个问题不在你自己的项目中,而是在它似乎正在使用的库中:GoogleTest。

您当前使用的 GoogleTest 版本在使用 GCC 11 编译时存在问题。GCC 会发出此警告(出于各种复杂的原因)。 GoogleTest 已配置编译器给出的任何警告都应视为错误。因此 GCC 将在遇到该警告时停止编译。

这不是您的错误,而是由 GoogleTest 来修复。已在此处进行修复并合并:https://github.com/google/googletest/pull/3024

将 GoogleTest 更新为使用 1.11.0 或更高版本应该可以解决问题。

关于c++ - 'dummy' 可以在未初始化的情况下使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69935158/

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