Env : Visual Studio Warning Level est réglé sur 4, Code dans le seul fichier de la solution :
#pragma warning( push )
#pragma warning( disable: 4503 )
#pragma warning( disable: 4702 )
#include <boost/property_tree/ptree.hpp>
#pragma warning ( pop ) //mark
#include "iostream"
int main()
{
boost::property_tree::ptree pt;
for( boost::property_tree::ptree::const_iterator it = pt.begin();
it != pt.end();
++it )
{
std::cout << it->second.data() << '\n';
}
return 0;
}
Problème : L'avertissement 4503 apparaît toujours lors de la compilation. J'ai essayé autre chose :
- mettre la ligne avec '//mark' comme dernière ligne de l'application, sans effet.
- si j'utilise #pragma warning( disable : 4503 4702 ) sans push/pop, ça marche, mais ça affecte ce qui a été compilé ensuite pour toute la solution, même si je mets #pragma warning( default : xx ) quelque part, ça n'a pas l'air de remettre l'avertissement à son état par défaut.
Qui sait pourquoi cela se produit et quelle est la meilleure solution pour supprimer les avertissements dans Visual Studio ?