这是我的头文件:
/**
* Job.h
*
**/
#ifndef JOB_
#define JOB_
#include <map>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <iomanip>
#include <vector>
class Job {
private:
int resourceId;
int inputRepresentation;
int outputRepresentation;
//Effects associative array
//Maps an effect to a map of it's attributes
//effectsMap[effect][attribute]=value
map< std::string, map<std::string, int> > *effectsMap;
public:
//constructors
Job();
Job(int resId, int inputRep, int outputRep);
//destructor
virtual ~Job();
//getters
int getInputRepresentation() const;
int getOutputRepresentation() const;
int getResourceId() const;
//setters
void setInputRepresentation(int inputRepresentation);
void setOutputRepresentation(int outputRepresentation);
void setResourceId(int resourceId);
void setRepresentations(std::map *rep);
void addEffect(std::string effect, map<std::string, int> attributesMap);
};
#endif
Run Code Online (Sandbox Code Playgroud)
现在,我将达到这一点:
void setRepresentations(std::map *rep)
Run Code Online (Sandbox Code Playgroud)
提供了以下错误:"地图是不是一个类型"这很奇怪,因为它看起来像日食管理,以正确链接到STL库......我确实有这似乎是精细地图的私人领域.
有任何想法吗?
您需要指定地图的完整类型,包括以下内容中的类型< >:类似于:
void setRepresentations(std::map<std::string, int> *rep);
Run Code Online (Sandbox Code Playgroud)