C++Clang-Tidy提示:“Clang-Tidy: Potential uncovered code path; add a default label”的解决方案
Posted songyuc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++Clang-Tidy提示:“Clang-Tidy: Potential uncovered code path; add a default label”的解决方案相关的知识,希望对你有一定的参考价值。
1 问题描述
今天在使用switch
语句时,Clang-Tidy提示了这样一个信息:
Clang-Tidy: Potential uncovered code path; add a default label
它表示,函数中可能存在未被覆盖的路径;
2 问题分析
我们使用函数的伪代码图如下:
Room *getEventRoom(int id)
switch (id)
case 0:
return new Campsite;
case 1:
return new RegularRoom;
case 2:
return new TrapRoom;
// no returning value in other cases
分析可知,如果id不属于[0,1,2]的时候,就会出现没有传送返回值的情况;
3 解决方案
其实 Clang-Tidy 在提示中已经给出了解决方案,也就是加粗的部分:
Clang-Tidy: Potential uncovered code path; add a default label
也就是说,我们需要在switch
语句中加入default
分支,以覆盖所有可能的情况;
以上是关于C++Clang-Tidy提示:“Clang-Tidy: Potential uncovered code path; add a default label”的解决方案的主要内容,如果未能解决你的问题,请参考以下文章