- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这会产生警告 C4715:并非所有控制路径都返回值。
int f_no_default(bool true_or_false)
{
switch (true_or_false)
{
case (true) :
return 1;
case (false) :
return 0;
}
}
但这会产生警告 C4809:switch 语句具有多余的“默认”标签;给出了所有可能的“案例”标签。
int f_with_default(bool true_or_false)
{
switch (true_or_false)
{
case (true) :
return 1;
case (false) :
return 0;
default:
return 0;
}
}
我能做什么? (除了关闭将警告视为错误)
Visual Studio 2013 V12.0
最佳答案
What can I do? (other than turn off treat warnings as errors)
下面的代码可能会修复它:
int f_no_default(bool true_or_false)
{
switch (true_or_false)
{
case (true) :
return 1;
case (false) :
return 0;
}
return 0; // <<<<<<<<<<<<<<<<<
}
对于这种情况,这是一个愚蠢的警告,但静态分析功能取决于实际的编译器实现,警告消息的有用性也是如此。
另一种选择(更符合您的函数名称)是抛出异常:
int f_no_default(bool true_or_false)
{
switch (true_or_false)
{
case (true) :
return 1;
case (false) :
return 0;
}
throw std::runtime_error("Unecpected value for 'true_or_false'");
}
关于c++ - Visual C++ 开关控制路径僵局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37172698/
我正在使用 channel 在 Go 中构建一个异步 Btree,但我收到错误 fatal error: all goroutines are asleep - deadlock! 我不知道为什么因为
我正在尝试从字符串线程中明智地读取单词。意味着一个线程读一个单词,当所有单词完成后,所有线程也应该和平退出。在此示例中,字符串中有11个单词,并且有4个线程对该字符串进行操作。但是该程序在运行时被挂起
当我期望 Alpha 表现得像 Beta 时,为什么它会提前停止? Alpha 和 Beta 之间的唯一区别是 >! 和 put!,如下所述。 阿尔法: user=> (def q (chan)) #
当我期望 Alpha 表现得像 Beta 时,为什么它会提前停止? Alpha 和 Beta 之间的唯一区别是 >! 和 put!,如下所述。 阿尔法: user=> (def q (chan)) #
我想使用 C# 自动化第三方 Windows 命令行程序。通常,它是一个交互式控制台,您发送命令,它可能会提示详细信息,发回结果并显示提示以询问更多命令。通常: c:\>console_access.
似乎“复杂”(getC)功能被阻止了。我假设 channel 一旦被读取就会被销毁,因此我想知道如何与 getC 函数和 main 共享 sC channel 函数不会陷入死锁(current sni
我想编写三个相互发送整数的并发 go 例程。现在,我的代码已正确编译,但在第一次执行后出现错误“抛出:所有 goroutines 都睡着了 - 死锁!”。我试图找到错误,但我无法在代码逻辑中找到任何错
这是我的代码,我哪里出错了? func main() { intChan := make(chan int) wg := sync.WaitGroup{} for i := 0;i<5;i
package main import ( "fmt" "runtime" "sync" "time" ) func main() { intInputChan
我是一名优秀的程序员,十分优秀!