次の関数を記述しているときabs
に、エラーが発生します。
非メンバー関数unsigned int abs(const T&)
はcv-qualifierを持つことはできません。
template<typename T>
inline unsigned int abs(const T& t) const
{
return t>0?t:-t;
}
関数の修飾子を削除した後、const
エラーは発生しません。関数内で変更していないのでt
、上記のコードをコンパイルする必要があります。なぜエラーが発生したのでしょうか。