
warning: duplicated ‘if’ condition
警告:if文のthen節とelse節が同じ
[-Wduplicated-cond]
[-Wduplicated-branches]
■if文のthen節とelse節が同じ
//-Wduplicated-branches -Wduplicated-condで警告
//gcc -Wall -Wextra では出ない
int duplicateBranch(int argc,char *argv[]){
if(argc == 1){
puts(argv[0]); return 1;
}else{
puts(argv[0]); return 1;
}
}
新規追加の警告は最初はオプションで
有効ならばあとで-Wallに昇格するらしい。
■if文の第1条件と第2条件が同じ
//-Wduplicated-branches -Wduplicated-condで警告
//gcc -Wall -Wextra では出ない
int duplicatedCond(int argc,char *argv[]){
if(argc == 1){
puts(argv[0]); return 1;
} else if(argc == 1){
puts(argv[0]); return 1;
} else{
return 0 ;
}
}
■まとめ(コンパイル可能)
#include <stdio.h>
//then節とelse節が同じ
//-Wduplicated-branches -Wduplicated-condで警告
//gcc -Wall -Wextra では出ない
int duplicateBranch(int argc,char *argv[]){
if(argc == 1){
puts(argv[0]); return 1;
}else{
puts(argv[0]); return 1;
}
}
//第一条件と第二条件が同じ
//-Wduplicated-branches -Wduplicated-condで警告
//gcc -Wall -Wextra では出ない
int duplicatedCond(int argc,char *argv[]){
if(argc == 1){
puts(argv[0]); return 1;
} else if(argc == 1){
puts(argv[0]); return 1;
} else{
return 0 ;
}
}
int main(int argc,char *argv[]){
duplicateBranch(argc,argv); //重複文
duplicatedCond(argc,argv); //重複条件
}
