I am using #pragma once
in my .cpp
s and .hpp
s and because of that I get a warning for each file that uses it. I have not found any option to disable this kind of warning, only the thing of #ifndef MY_FILE_H #define MY_FILE_H /*...*/ #endif
.
So would you recommend me to replace each #pragma once
with ifndef
s?
in header:
#define MYFILE_H
// all the header
and in the other files:
#ifndef MYFILE_H
#include "myfile.hpp"
#endif
// the rest of the file
What do you think, is it better to use it like this? Or there is an option to disable the #pragma once
warnings in GCC, that I do not know?
abolish, clear away, cut out, delete, discard, discharge, dismiss, eliminate, erase, evacuate, expel, extract, get rid of, oust, pull out, raise, separate, ship, take out, transfer.
Verb. (transitive) To delete.
The common approach is to place the guard in the .h file only:
#ifndef MYFILE_H
#define MYFILE_H
// all your myfile.hpp here
#endif
or
#pragma once
// all your myfile.hpp here
The rest of files (other .cpp) should do nothing regarding the guards. You should not get warnings by doing this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With