Получение ошибки "Нет оператора" << ", совпадающего с этими операндами" при попытке передать std:: string в ostream

Я хотел изучать C++, поэтому я принял участие в курсе программирования на C++. В основном это довольно простые вещи, но теперь я пару раз сталкивался с этой странной ситуацией, когда я не могу использовать операнды "<<" для передачи std:: string в ostream, хотя в большинстве случаев я могу это сделать так.

В качестве IDE я использую vs2015, и у меня есть следующий код.

#include "stdafx.h"
#include <iostream>

int main() 
{
    std::string str = "Foo";
    std::cout << str << std::endl;
}

Что происходит, так это то, что операнды '<<' между std:: cout и str перерисовываются, и я получаю сообщение об ошибке, в котором говорится: "no operator" << "соответствует этим операндам. Типы операндов: std:: ostream << std:: строка".

Это происходит довольно случайно и редко, поэтому я не смог выяснить какой-либо тип корреляции между случаями. Одна вещь, которую я заметил, это то, что в том числе <sstream> чтобы проект избавился от проблемы, но я не думаю, что так и должно быть.

Какие-либо предложения?

0 ответов

Другие вопросы по тегам