2
我得到這個錯誤:當我嘗試運行此代碼不能顯式專門
Severity Code Description Project File Line Suppression State Error C2910 'addingStuff::addingStuffFunc': cannot be explicitly specialized BuckysTemplateSpecialization c:\users\amanuel\documents\visual studio 2015\projects\buckystemplatespecialization\buckystemplatespecializ
:
#include<iostream>
#include<string>
template<class F, class S>
class addingStuff {
public:
addingStuff(F fCons, S sCons) : f(fCons), s(sCons){}
F addingStuffFunc();
private:
F f; S s;
};
template<class F, class S>
F addingStuff<F, S>::addingStuffFunc() {
return(f + s);
}
template<>
class addingStuff<std::string , std::string>{
public:
addingStuff(std::string sConst, std::string s2Const):s(sConst), s2(s2Const){}
std::string addingStuffFunc();
private:
std::string s, s2;
};
template<>
std::string addingStuff<std::string, std::string>::addingStuffFunc() {
return "Sorry.. Adding strings is Illegal!!";
}
int main() {
addingStuff<std::string, std::string> exampleStuff("Hello " , "World");
std::cout << exampleStuff.addingStuffFunc() << std::endl;
}
不知道爲什麼..
非常感謝它!我會在5分鐘(最小時間)接受安納塞爾。但還有一個問題!爲什麼我會爲第一個函數做模板,並且我只是讓它出現在第二個函數中?這是因爲它實際上專門針對特定的數據類型嗎? Thankyou –
amanuel2
@Dsafds非常多。 – Barry