Visual C ++ C ++中的错误C2784

时间:2011-11-01 00:09:34

标签: c++ string visual-c++

当我去编译这段代码时,它给了我错误C2784:

  

错误C2784:'std::basic_istream<_Elem,_Traits> &std::operator >>(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &)':无法从'std::basic_istream<_Elem,_Traits> &'

推断'std::ostream'的模板参数      

1&GT; C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \ string(458):参见'std::operator >>'的声明

这是什么意思? 2010年改变了一些前处理指令吗?或者我只是一个菜鸟?

我想我没有正确使用getline,但那是我的猜测任何帮助将不胜感激。谢谢

#include "stdafx.h"
#include <iomanip>
#include <iostream>
#include <string>
using namespace std;
using namespace System;

int main()
{
    string Date;
    string ISBN;
    string Title;
    int qty;
    float price;
    cout<< "\n\n Serendipity Booksellers\n Cashier Module\n\n";
    cout<< "Date:";
    getline(cin, Date);
    cout<< "\nQuantity of Book:";
    cin>> qty;
    cout<<"\nISBN:";
    getline(cin, ISBN);
    cout<<"\nTitle:";
    getline(cin, Title);
    cout>>"\nPrice:";
    cin>> price;

    cout<<"Serendipity Book Sellers\n\nDate:\n\nQty   ISBN\t\tTitle\t\t\tPrice\tTotal\n";
    cout<<"____________________________________________________________________________";
    cout<<"\n\n\n\t\tSubtotal\n\t\tTax\n\t\tTotal\n\n\nThank You for Shopping at Serendipity!\n";

    return 0;
}

1 个答案:

答案 0 :(得分:3)

cout>>"\nPrice:";

您正试图从cout“读取”。