gpt4 book ai didi

c++ - 警告 : left-hand/right-hand operand of comma has no effect

转载 作者:行者123 更新时间:2023-11-30 03:56:56 25 4
gpt4 key购买 nike

我有这些警告,但我不知道如何解决它们。

warning: left-hand operand of comma has no effect
warning: right-hand operand of comma has no effect

代码:

size_t cCsvAlias::operator [] (const char* name) const
{
NAME2INDEX_MAP::const_iterator itr(m_Name2Index.find(Lower(name)));
if (itr == m_Name2Index.end())
{
LogToFile(NULL, "cannot find suitable conversion for %s", name);
Assert(false && "cannot find suitable conversion");
return 0;
}

return itr->second;
}

警告来自:

LogToFile(NULL, "cannot find suitable conversion for %s", name);

提前致谢!

编辑:

#define LogToFile (void)(0);

最佳答案

手动展开宏,就像预处理器会为你做的那样,你会得到:

(void) (0);(NULL, "cannot find suitable conversion for %s", name);

右括号中的表达式由逗号分隔的三个语句组成。编译器警告您前两个无效。

逗号运算符将多个表达式拼接在一起,按顺序计算它们。右括号中以逗号分隔的表达式的计算结果为逗号链中最后一个表达式的值(在本例中为 name)。然而,前两个表达式(NULL"cannot find suitable conversion for "%s")实际上并没有做任何事情;这是编译器发出的警告你关于。

关于c++ - 警告 : left-hand/right-hand operand of comma has no effect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28253014/

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