2017-01-03 3 views
-5

Visual Studio gibt mir diesen Fehler gefunden, wenn ich versuche, meine C++ zu kompilieren Projekt:C++ Debugging no '=' Operator in Visual Studio

Severity: Error 
Code: C2678 
Description: binary '=': no operator found which takes a left-hand operand of type 'const std::string' (or there is no acceptable conversion) 
Project: jr 
File: c:\program files (x86)\microsoft visual studio 14.0\vc\include\utility 
Line: 192   

Ich nehme an, irgendwo in meinem Projekt, ich bin zu ändern versuchen, Konstante Zeichenfolge. Wie finde ich das? Wie gehen Sie mit dem Debuggen solcher Fehler um?

Der Dateiname und die Zeile, die in dem Fehler erwähnt werden, sind einige schreibgeschützte Dateien von Microsoft. Ich möchte den Fehler in meinem Code suchen. Hier ist der Auszug der Code um Zeile 192:

_Myt& operator=(const _Myt& _Right) 
     { // assign from copied pair 
     first = _Right.first; 
     second = _Right.second; 
     return (*this); 
     } 
+0

Warum zeigen Sie uns Zeile 192 nicht, wo der Fehler ist. – CodeLikeBeaker

+1

Ist "irgendwo" eine "Linie: 192"? –

+0

Wenn es sich um einen Kompilierfehler handelt, wird Visual Studio dies einfach für Sie hervorheben. – RafaelC

Antwort

1

Sie wahrscheinlich Code schreiben möchten, wie:

const std::string s; 
s = ""; 

diesem Grund Fehler über const Typ sagt: 'const std :: string'

Eine andere Möglichkeit besteht darin, dass Sie einer Zeichenfolge in einer Konst-Methode einen Wert zuweisen möchten.