【发布时间】:2018-03-09 23:54:40
【问题描述】:
我正在尝试创建一个映射,其值是我在另一个文件中定义的类;即FoodItemLookup。但是,C++ 给了我错误:
模板参数 1 无效
我觉得这很奇怪,因为我没有使用任何模板。
如果有人能向我解释我做错了什么,我将不胜感激。我不认为我可以发布所有代码,但这里是有问题的 sn-ps:
制作地图的尝试:
std::map<string, FoodItemLookup> foodCatalogue;
FoodItemLookup.h 文件的简要介绍:
#ifndef FOODITEMLOOKUP
#define FOODITEMLOOKUP
#include <string>
class FoodItemLookup
{
private:
...
public:
//constructor
FoodItemLookup(std::string upc, int shelfLife, std::string name);
//copy constructor
FoodItemLookup(const FoodItemLookup &other);
//destructor
~FoodItemLookup();
...
);
#endif
【问题讨论】:
-
确切错误信息是什么?
-
您没有发布足够的代码供任何人帮助您。我们不得不猜测的事情太多,但我们无法得出结论。
-
如果你在声明地图之前没有做任何特别的事情,你必须在那里使用
std::string,就像在类声明中一样。
标签: c++ templates dictionary stdmap invalid-argument