3
J'ai un code surchargeant l'opérateur new
. Le code ci-dessous fonctionne très bien sous Linux (gcc4x), mais pas Windows (Visual C++ 2008 Express Edition)Opérateur d'erreur new []: la fonction ne prend pas 1 argument
Le code sous Visual Studio 2008 rapporte Express Edition
erreur C2660: opérateur new []: la fonction ne fonctionne pas prendre 1 arguments
class dummy{};
void* operator new[] (size_t size, dummy gcp)
{
return ::operator new[](size); //error
}
int main()
{
dummy dummyobj;
dummy* ptr = new (dummyobj) dummy[5];
return 0;
}
À quoi sert "dummy gcp"? –
Réussi sous VS 2010 Pro. – Puppy
Il est généralement utile si vous ajoutez un commentaire dans le code à la ligne sur laquelle le compilateur se plaint. Cela aide dans les situations où les gens ne sont pas familiers avec le format d'erreur spécifique du compilateur, car il permet de déduire ce que le compilateur essaie de vous dire. –