这段代码出了什么问题?
class School {
public:
template<typename T> size_t count() const;
private:
vector<Boy*> boys;
vector<Girl*> girls;
};
template<> size_t School::count<Boy>() const {
return boys.size();
}
Run Code Online (Sandbox Code Playgroud)
我的编译说
error: specialization of ‘size_t School::count() [with T = Boy]’
after instantiation
Run Code Online (Sandbox Code Playgroud)
能否请你帮忙?
PS.这就是我以后要用它的方法:
School s;
size_t c = s.count<Boy>();
Run Code Online (Sandbox Code Playgroud)
你错过了一个分号.
class School {
public:
template<typename T> size_t count() const;
private:
vector<Boy*> boys;
vector<Girl*> girls;
}; // <-- Missing semi-colon
template<> size_t School::count<Boy>() const {
return boys.size();
}
Run Code Online (Sandbox Code Playgroud)