Заголовок:Keep получать unordered_map ошибка компилятора
#include <unordered_map>
#include "O.h"
#include "P.h"
using namespace std;
class O{
public:
O();
unordered_map<int,P>* X();
unordered_map<int,P>* Y();
private:
unordered_map<int,P>* b;
unordered_map<int,P>* a;
};
Источник:
#include "O.h"
#include "P.h"
#include <unordered_map>
using namespace std;
O::O(){
a= new unordered_map<int,P>();
b= new unordered_map<int,P>();
}
unordered_map<int,P>* O::X(){
return b;
}
unordered_map<int,P>* O::Y(){
return a;
}
Ошибка:
1> O.cpp (76): ошибка: тип возвращаемого значения делает не соответствует функции тип 1> возврат b;
1> O.cpp (80): ошибка: тип возвращаемого значения не соответствует функции тип 1> return a;
я схожу с ума, пытаясь отладки это ....
EDIT: Intel Compiler v13
Выглядит хорошо, может быть проблема с тем, как 'P' определяется. –
BTW будет приятно добавить 'using Map = unordered_map' –
Elazar
Я подозреваю, что вы хотели '#include" P.h "' в заголовке, а не '' O.h''. –