Lorsque j'effectue une étape unique avec le débogueur Visual Studio via le programme suivant, aucune valeur de retour n'est affichée dans la fenêtre "auto" pour l'un des appels de méthode istringstream
.Le débogueur Visual C++ n'affiche pas la valeur de retour
Il indique cependant la valeur de retour pour vector::size()
.
#include "stdafx.h"
#include <sstream>
#include <vector>
int main()
{
std::vector<char>{}.size(); //<-- debugger shows return value
std::istringstream{"x"}.get(); //<-- no return value shown
std::istringstream{"x"}.good(); //<-- no return value shown
std::istringstream{"x"}.tellg(); //<-- no return value shown
return 0;
}
Bien sûr, je tourner ceci dans la configuration « debug », de sorte que le compilateur ne devrait pas être en mesure d'optimiser les appels loin. J'ai créé le projet à l'aide de l'assistant d'application console sans modifier les paramètres du projet par la suite.
Devrais-je signaler un problème?
Edit:
Une autre question peut-être liée: Je ne peux pas F11 -Step dans l'une des istringstream
méthodes ci-dessus. Le débogueur les franchit comme si j'avais appuyé sur F10. Encore une fois, cela fonctionne pour vector::size()
.
Cela ressemble plus à un rapport de bogue de Visual Studio qu'à un problème de code approprié. – TankorSmash
Je reçois des valeurs de retour pour tous ces appels dans la fenêtre "Autos". Oui, VS2017. – AnT
@Tankor SO n'est pas seulement pour les problèmes de code, il est également valable pour [poser des questions sur les outils de codage] (http://stackoverflow.com/help/on-topic). Je ne suis pas encore sûr si c'est un bug ou si c'est un problème de configuration. J'aimerais que certaines personnes le confirment d'abord. – zett42