2014-02-10 35 views
0
#include <iostream> 
#include <iomanip> 
int main() 
{ 
    long double price; 
    std::cout << "Please, enter the price: "; 
    std::cin >> std::get_money(price); 

    if (std::cin.fail()) std::cout << "Error reading price\n"; 
    else std::cout << "The price entered is: " << price << '\n'; 

    return 0; 
} 

編譯上述程序時出現錯誤錯誤。get_money()函數中出現錯誤

getmoney.cpp:函數int main()': getmoney.cpp:10: error: get_money'不是`std'的成員。

get_money是預定義函數。我不知道爲什麼我收到這個錯誤。

+1

你如何編譯你的代碼?哪個版本的編譯器?用哪個編譯器參數(你可能需要'-std = C++ 11')? [std :: get_money](http://www.cplusplus.com/reference/iomanip/get_money/)是C++ 11的附加 –

+1

您是否包含#include '? – herohuyongtao

+1

我似乎總是有'get_money'的問題... –

回答

3

如果包含iomanip但編譯器發出錯誤,這意味着您的編譯器不支持C++ 2011標準,或者您沒有選擇編譯器的這種選項。

+0

如何將我的編譯器更改爲支持C++ 2011標準? – Jeyamaran

+0

@Jeyamaran我不知道你正在使用的編譯器,但你可以在這裏搜索一個類似的問題或者問你自己的問題。 –

1

你的代碼中是否包含頭文件「iomanip」?

+4

請不要回答一個問題。 *包括'iomanip'作爲頭文件可能會起作用*會是更好的回答方式。 – Ranveer

+0

是的,我包括iomanip.h – Jeyamaran

0

聞你有這樣的問題去檢查的參考網站,如http://www.cplusplus.com/reference/iomanip/get_money/

上,你會看到

This manipulator is declared in header <iomanip>. 

,你甚至經常有一個例子代碼,告訴你如何使用它。

所以包括了iomanip可以解決你的問題

如果不工作,你可能正在使用的舊的編譯器不支持C++ 11,因此,你可以簡單地如果不改變你的編譯器使用此功能。

+0

你好我已經包括了。 – Jeyamaran

+0

然後檢查你的編譯器是否支持C++ 11,因爲我給你的頁面也是明確的(除了函數名稱之外的小黃色警告三角),它只被C++ 11支持 – taktak004

相關問題