我尝试使用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();
工作。)
答案 0 :(得分:2)
std::cin
std::cin
用于输入,您必须将要读取的值存储到变量中。
例如,
std::string word;
std::cin >> word;
std::cin >> word;
会将word
分配给用户输入的字词。因此,传递字符串文字(例如"hello"
)是没有意义的到std::cin
,因为它不知道如何处理它。
如果您想向用户显示一条消息,告诉他们输入内容,只需像您一样使用std::cout
打印其他消息。
std::cin
您还可以使用int
,float
或其他类型的其他类型直接与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
}
此外,请在将来创建程序时尝试此操作。
这应解决问题