the*_*oon 4 c++ pragma gcc-warning
我正在使用#pragma once我的.cpps和.hpps,因此我会收到每个使用它的文件的警告.我没有找到任何选项来禁用这种警告,只有#ifndef MY_FILE_H #define MY_FILE_H /*...*/ #endif.
那么你会建议我#pragma once用ifndefs 替换每个吗?
在标题中:
#define MYFILE_H
// all the header
Run Code Online (Sandbox Code Playgroud)
在其他文件中:
#ifndef MYFILE_H
#include "myfile.hpp"
#endif
// the rest of the file
Run Code Online (Sandbox Code Playgroud)
您怎么看?这样使用它会更好吗?或者有一个选项可以禁用#pragma onceGCC中的警告,我不知道?
Chr*_*ger 12
常见的方法是仅将警卫放在.h文件中:
#ifndef MYFILE_H
#define MYFILE_H
// all your myfile.hpp here
#endif
Run Code Online (Sandbox Code Playgroud)
要么
#pragma once
// all your myfile.hpp here
Run Code Online (Sandbox Code Playgroud)
其余的文件(其他.cpp)应该对卫兵没有任何作用.这样做你不应该收到警告.