Tôi nhận được lỗi lạ này trong g ++; nó biên dịch tốt trong Visual Studio.lỗi: không có chức năng phù hợp cho cuộc gọi đến 'make_pair (int &, Quest *)'
struct Quest
{
static map<int, Quest*> Cache;
};
Quest *Quest::LoadFromDb(BaseResult& result, int *id)
{
Quest *ret;
if(result.Error())
{
if(id)
Cache.insert(make_pair<int, Quest*>(*id, NULL)); // <--- Problematic line
return NULL;
}
// ...
}
chính xác lỗi:
DataFilesStructure.cpp:9135:58: error: no matching function for call to 'make_pair(int&, Quest*)'
Nó được tạo tự động và có, int() dường như sửa nó !! – Krevan
@Krevan: Vui vì tôi có thể giúp. – fredoverflow
Điều gì đã xảy ra ở đây? Chúng ta có một cá thể hàm mẫu rõ ràng 'make_pair
Kos