給出下面的基類:函數重載和繼承的類型不調用正確的過載
struct ValueType {
String
ToString(String const& format) const;
};
我想這個過載被調用類型從ValueType
得出:否則
String FormatValue(const ValueType& value, const String& format)
{
return value.ToString(format);
}
,我希望這種超載被稱爲:
template <typename T>
String FormatValue(const T& value, const String& format);
如何確保派生類型不會調用第二個重載?
original question is located here。
*任何理由*你不只是使用IOstream的所有類的現有做法?並接受我的建議:在C++中編寫Java或C#是一個糟糕的想法。 – Xeo 2012-03-08 02:49:45
我*認真*將您的問題修剪至我認爲是其核心的部分。雖然它原本寫得很好,但我不認爲所有這些信息都與您的問題非常相關。如果您認爲這是錯誤的,您可以回滾到原始版本。 – 2012-03-08 03:02:01
原始問題仍然可以通過點擊最後一次編輯的時間通過編輯歷史查看,無需將其保存到別處。 :) – Xeo 2012-03-08 03:31:46