【发布时间】:2015-06-15 10:58:20
【问题描述】:
我有一个第三方库代码段,其结构如下:
class A;
A func()
{
if(...)
{
return A(...);
}
else if(...)
{
return A(...);
}
else
{
LOG(...);
}
}
它在 Xcode 中给出错误“控制可能到达非无效函数的结尾”。
同一段在 VS2012 中编译没有任何问题。 Xcode c++ 编译器方言和标准库设置为 C++89 和 libstdc++。我知道这是预期的行为,但 vs2012 编译器的行为不符合标准吗?
【问题讨论】:
-
LOG() 宏有什么作用?
-
您可能设置了将警告变为错误的标志之一。但是您真的希望该代码能够编译吗?
-
您在
else分支中或函数范围结束之前缺少return。
标签: c++ xcode visual-studio-2012