gpt4 book ai didi

c++ - gtest 意外转换

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:42 27 4
gpt4 key购买 nike

我正在测试我的功能是否正确运行

bool Core::IsMeta(void)
{
return mProc->GetCode(mPC)->Meta;
}

使用说明

EXPECT_EQ(true,CC->IsMeta()); // The instruction pointed to is meta
EXPECT_EQ(false,CC1->IsMeta()); // The instruction pointed to is NOT meta

测试运行正常,但两个测试的行为不同:“true”情况下编译正常,“false”情况下出现警告

In file included from /... ./build/gtest/src/gtest/include/gtest/gtest.h:1929:0, from /... .cpp:1: /... .cpp: In member function ‘virtual void ... ::TestBody()’: /... /build/gtest/src/gtest/include/gtest/internal/gtest-internal.h:133:55: warning: converting ‘false’ to pointer type for argument 1 of ‘char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)’ [-Wconversion-null] (sizeof(::testing::internal::IsNullLiteralHelper(x)) == 1) ^

为什么 gtest 要将 'false' 转换为指针?为什么不是“真实的”?我想念什么吗?

最佳答案

对于 bool 值,您需要使用 EXPECT_TRUE()EXPECT_FALSE() 而不是 EXPECT_EQ

关于c++ - gtest 意外转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170770/

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