我想在基於模板參數的模板中略有不同的邏輯。我該如何鍵入檢查模板參數?模板類型檢查參數C++,不同類型的執行路徑
我有我很驚訝以下不工作:
class Bar {
Bar() {}
}
template <typename T>
void Foo(const &T a) {
if (!std::is_same<T, Bar>::value) {
// Do things that will fail for type Bar e.g.
a.Fail();
}
}
我不希望使用模板特在現實模板特殊化結束共享了大量的代碼爲我的特定目的(目前正在代碼使用模板特)
目前在編譯過程失敗:"no member "Fail" in "Bar"
模板專門化是正確的解決方案。有用的提示:「模板專業化」並不意味着「重複整個龐大的功能,只是改變其中的一小部分」。 –