2012-04-02 4 views
1
initialisiert werden kann

ich Compiler-Fehler in:Fehler C2439 um: Mitglied nicht

template<class _Other1, 
     class _Other2> 
     _Pair_base(_Other1&& _Val1, _Other2&& _Val2) 
     : first(_STD forward<_Other1>(_Val1)), 
      second(_STD forward<_Other2>(_Val2)) 
     { 
     } 

    _Ty1 first; 
    _Ty2 second;  
    }; 

error C2440: 'initializing' : cannot convert from 'int' to 'const PP_PropertyType 
error C2439: 'std::_Pair_base<_Ty1,_Ty2>::second' : member could not be initialized 

Ich bin nicht sicher, ob dieser Teil des Codes genug ist ... Haben Sie Vorschläge haben, was soll ich tun?

Vielen Dank für jede Hilfe

+2

Nein, Sie erhalten keine Compilerfehler in der Standardbibliothek. Und der Fehler sagt sogar, was falsch ist und wo (wenn Sie mehr lesen würden, würden Sie bemerken, wie es einen Zeiger auf Ihren Code gibt, wo die Vorlage verwendet wird). –

Antwort

1

Sie versuchen, etwas zu initialisieren:

pair<SomeType, PP_PropertyType> x(foo, 1234); 

und es kann nicht den zweiten Parameter (1234) von einem int zu einem PP_PropertyType konvertieren.

Das Problem wird in einem Standardbibliotheksfehler in der Basisklasse von std :: pair angezeigt, aber es wird in Ihrem Code verursacht.

Verwandte Themen