Tôi đang cố đọc một ký tự đơn lẻ từ một luồng. Với đoạn mã sau, tôi nhận được lỗi trình biên dịch "quá tải không rõ ràng" (GCC 4.3.2, and 4.3.4). Tôi đang làm gì sai?Lỗi trình biên dịch GCC khi trích xuất một char từ một dòng tạm thời
#include <iostream>
#include <sstream>
int main()
{
char c;
std::istringstream("a") >> c;
return 0;
}
Ghi chú:
- Visual Studio 2008 biên dịch mà không có lỗi
- loại khác (
int
,double
) đang làm việc - Nếu đầu tiên tôi tạo ra một biến
std::istringstream iss("a"); iss >> c
, trình biên dịch cung cấp cho không có lỗi
Thực ra, trong điểm bullet thứ ba của bạn, đó là nơi cuối cùng bạn cũng không tạo ra một biến tạm thời. –
@LightnessRacesinOrbit: Cảm ơn, tôi đã sửa điểm cuối cùng. –