我有一个类,其中有使用模板声明的结构。无法弄清楚如何在头文件中描述类结构
.cpp文件
delete
在头文件中,我正在尝试编写以下代码 .h文件
UserDefaults.standard.set(YourStringArray, forKey: "stringArr")
let arr = UserDefaults.standard.stringArray(forKey: "stringArr")
for s in arr! {
//do stuff
}
但根据此定义,编译器会生成错误,标识符#include <map>
#include <numeric>
class Statistics {
private:
std::map<int, int> *data;
struct add_first {
template<class Pair>
int operator()(int value, const Pair& pair) const {
return value + pair.first;
}
};
struct add_second {
template<class Pair>
int operator()(int value, const Pair& pair) const {
return value + pair.second;
}
};
struct add_expectation {
template<class Pair>
int operator()(int value, const Pair& pair) const {
return value + (pair.first * pair.second);
}
};
public:
Statistics(std::map<int, int> *load_data) {
data = load_data;
}
double get_mean() {
return std::accumulate((*data).begin(), (*data).end(), 0.0, add_first()) / (*data).size();
}
double get_expectation() {
return std::accumulate((*data).begin(), (*data).end(), 0.0, add_expectation()) / std::accumulate((*data).begin(), (*data).end(), 0.0, add_second());
}
};
未定义。怎么了?
答案 0 :(得分:1)
在@Angew服用所有产品后,应该没有错误。