0
それは働いてます。..
private:
template <typename U>
int64_t parseValue(const std::string& str
, typename std::enable_if<std::is_signed<T>::value, U>::type* = 0
) const
{
return stoll(str, 0, base_);
}
template <typename U>
uint64_t parseValue(const std::string& str
, typename std::enable_if<std::is_unsigned<T>::value, U>::type* = 0
) const
{
が、以下のコードは動作しません。何故かはわからない。私は専門化の概念やその他の問題がないかどうかはわかりません。
private:
template <typename U>
int64_t parseValue(const std::string& str
, typename std::enable_if<std::is_signed<T>::value>::type* = 0
) const
{
return stoll(str, 0, base_);
}
template <typename U>
uint64_t parseValue(const std::string& str
, typename std::enable_if<std::is_unsigned<T>::value>::type* = 0
) const
動作しません。
説明できますか?理由を知りません。
あなたは[mcve]を投稿できますか?私はそれがうまくいかない理由を推測できますが、完全な例がなければ、それはちょうど推測に過ぎません。 – Praetorian