std :: cin无法正常工作

时间:2017-03-14 17:37:48

标签: c++

我尝试使用std::cin >>,但Visual Studio 2017说:

  

"二进制'>>':找不到带有' std :: istream'类型的左手操作数的运算符(或者没有可接受的转换)"

完整代码:

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

void verb()
{
    std::cin >> "Enter a verb";
}



int main()
{
    std::cout << "help";
    return 0;
}

"help"是暂时的,直到我能void verb();工作。)

3 个答案:

答案 0 :(得分:2)

使用std::cin

读取输入

std::cin用于输入,您必须将要读取的值存储到变量中。

例如,

std::string word;
std::cin >> word;

std::cin >> word;会将word分配给用户输入的字词。因此,传递字符串文字(例如"hello")是没有意义的到std::cin,因为它不知道如何处理它。

如果您想向用户显示一条消息,告诉他们输入内容,只需像您一样使用std::cout打印其他消息。

关于std::cin

的其他有趣的事情

您还可以使用intfloat或其他类型的其他类型直接与std::cin一起使用。

请注意,在输入带有std::cin的字符串时,它只会读取一个字(由空格分隔),这意味着如果用户输入hello world,{ {1}}的值为word - 如果您再次hello,则会获得std::cin >> word;。要阅读world的整行,请参阅this thread

如果您想一次阅读多个内容(为了避免在代码中多次使用std::cin),您可以&#34;链&#34;输入:

std::cin >>

对于std::string word1, word2; int number; std::cin >> word1 >> number >> word2; 等输入,这将按预期工作。

答案 1 :(得分:1)

你必须把它写在变量

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

std::string variable_a;

void verb()
{
    std::cin >> variable_a;
}



int main()
{
     std::cout << "help";
     return 0;
}

答案 2 :(得分:-4)

#include <iostream> // Include input/output stream objects
#include <string> // Include string data type
using namespace std; // Use standard namespace library

int main()
{
    string verb; // Declare verb as type string

    cout << "Enter a verb: "; // Asks the user to enter a verb
    cin >> verb; // Takes input as variable verb

   system("pause"); // Pauses console
   return 0; // Return value from function
}

此外,请在将来创建程序时尝试此操作。

  1. 删除' #include“stdafx.h”'并复制原始代码。
  2. 启动Visual Studio 2017。
  3. 在“新项目”的位置,选择项目类型。
  4. 当您转到“ Win32应用程序向导”时,点击“下一步”并在“其他选项”下,点击“空项目'。
  5. 您现在会看到一个空白屏幕。
  6. 在“项目”菜单标签下,点击“添加新项目(或控制+ Shift + A)
  7. 将现有代码复制到此项目中。
  8. 这应解决问题