我想为同事准备mcve,但是要运行该示例,需要从std::cin
中输入一些复杂的用户输入,我希望将其包含在示例代码中。我尝试从string
而不是std::cin
读取内容,但是没有用。简化示例:
#include <string>
#include <iostream>
int main() {
std::string test_input{"1.2 3 a"};
double a;
//std::cin >> a;
test_input >> a;
std::cout << a;
}
导致以
开头的长错误消息prog.cc: In function 'int main()':
prog.cc:8:16: error: no match for 'operator>>' (operand types are 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'} and 'double')
test_input >> a;
~~~~~~~~~~~^~~~
如何模拟用户对std::cin
的输入?