std::defaultfloat
dường như không được xác định trong GCC, mặc dù là in the standard (tôi nghĩ đó là §27.5.6.4). Tôi đã cô lập nó với chương trình đơn giản này:: ‘defaultfloat’ không phải là thành viên của ‘std’
// test.cpp
#include <iostream>
int main()
{
std::cout << std::defaultfloat << 1.3;
return 0;
}
Điều này biên dịch trong VC++ 11. Tôi đã cố gắng biên soạn này với g ++ 4.7.2 và g ++ 4.9.0 sử dụng cả hai lệnh:
g++ test.cpp g++ test.cpp -std=c++11
Tôi cũng đã cố gắng an online compile on GCC 4.8.1 here, luôn luôn với kết quả tương tự:
[email protected]:~/Documents/test$ g++ test.cpp -std=c++11
test.cpp: In function ‘int main()’:
test.cpp:5:15: error: ‘defaultfloat’ is not a member of ‘std’
std::cout << std::defaultfloat << 1.3;
Tại sao tôi nhận này lỗi?
Hm. Lạ thật. Bạn có thực hiện thư viện chuẩn C++ hỗ trợ C++ 11 không? –
Tôi vừa mới cài đặt GCC 4.9.0 và tôi đã gặp vấn đề tương tự với bản cài đặt GCC 4.7.2 tiêu chuẩn đi kèm với Debian. Đó có phải là ý bạn không? – arman
tốt, nếu nó được cài đặt mà không có vấn đề, tôi hy vọng nó hoạt động. Bạn có thể vui lòng cho tôi biết phiên bản của glibc (tôi giả định đó là những gì tàu với GCC)? –