Ich bekomme den folgenden Fehler beim Migrieren von VC6-Code zu VS2008. Dieser Code funktioniert gut in VC6, aber gibt einen Kompilierungsfehler in VC9. Ich weiß, dass es wegen eines Compilers ist, der die Änderung bricht. Was ist das Problem und wie behebe ich es?Fehler C2440: "Initialisierung": kann nicht konvertieren von "Std :: _ Vector_iterator <_Ty,_Alloc>" auf "Typ *"
error C2440: 'initializing' : cannot convert
from 'std::_Vector_iterator<_Ty,_Alloc>'
to 'STRUCT_MUX_NOTIFICATION *'
-Code
MUX_NOTIFICATION_VECTOR::iterator MuxNotfnIterator;
for(
MuxNotfnIterator = m_MuxNotfnCache.m_MuxNotificationVector.begin();
MuxNotfnIterator != m_MuxNotfnCache.m_MuxNotificationVector.end();
MuxNotfnIterator ++
)
{
STRUCT_MUX_NOTIFICATION *pstMuxNotfn = MuxNotfnIterator; //Error 2440
}
Ja, es ist ein Typedef ... und Ihre Erklärung ist perfekt. Ihre Argumentation scheint zu stimmen. +1. Kennzeichnung als die richtige Antwort, es sei denn jemand hat eine ausführlichere Erklärung. Danke Benoit. – bobbyalex