C++中cin不能输入字符型变量和字符串变量吗

C++中cin不能输入字符型变量和字符串变量吗?
codeblocks中报错信息如下:
10|error: no match for 'operator>>' (operand types are 'std::basic_istream' and '')
代码如下:

#include 
//C++万能头文件
#include
using namespace std;

int main()
{
    string a,b;
    cin>>a>>b>>endl;
    a=a+b;
    cout<return 0;
}

之前输入字符型变量也不行,使用整型和浮点型变量可以。
我记得以前学习C++的时候,cin不管输入什么类型的变量都会自动转换成字符流类型,所以使用比c语言的scanf方便。

增加  #include <string>

  • 把 后面 >>endl 去掉
cin>>a>>b;
  • 一种是这样写:
getline(cin, a);

img