Tôi không thể hiểu được thông báo lỗi tôi nhận được khi tôi biên dịch mã này trong trình bao Cygwin. Thông điệp là rất dài, nhưng ở đâu đó ở giữa lỗi 1.000 dòng này nó nói:Mã mẫu này sẽ không biên dịch
không gọi phù hợp cho nhà điều hành <
này có nghĩa là gì? Đây là mã của tôi:
#include <iostream>
#include <string>
#include <set>
#include <algorithm>
#include <iterator>
using namespace std;
struct Grade{
string id;
int score;
bool operator() (Grade& a, Grade& b){
return a.id < b.id;
}
};
int main()
{
Grade g;
set<Grade> gs;
g.id = "ABC123";
g.score = 99;
gs.insert(g);
g.id = "BCD321";
g.score = 96;
gs.insert(g);
for(auto it : gs)
cout << it.id << "," << it.score;
return 0;
}
'set' lưu trữ các phần tử theo thứ tự sắp xếp, yêu cầu loại dữ liệu của bạn phải có toán tử'
Alejandro
Tôi hiểu, làm thế nào tôi có thể xác định nó? – XDProgrammer
Bạn có thể muốn xem xét đánh dấu "đã giải quyết" trong các câu hỏi trong quá khứ của mình: http://stackoverflow.com/users/4416304/xdprogrammer?tab=questions –