J'ai une déclaration de classe Utils.h:Boost 1.44.0 + VS2010 erreur membre privé
class Utils {
private:
static boost::mutex outputMutex;
};
Dans le fichier cpp:
boost::mutex Utils::outputMutex = boost::mutex();
Je reçois:
Error 1 error C2248: 'boost::mutex::mutex' : cannot access private member declared in class 'boost::mutex'
Si nous regardons à l'intérieur boost/thread/win32/mutex.hpp
nous voyons:
namespace boost
{
class mutex:
public ::boost::detail::underlying_mutex
{
// ...
public:
mutex()
{
initialize();
}
Est-ce que quelqu'un sait ce que je manque ici? Il compilait OK sur une machine différente avec VS2008.
Merci.
Ce n'est pas une affectation, c'est une initialisation de copie. – GManNickG
Cela fonctionne. Si je me souviens bien (pas sûr), il fallait l'affectation dans VS2008. Bravo :) – Mau