テンプレート化されたクラスではないクラスがあります。このクラスにテンプレート関数である関数を追加する必要があります。問題は、パラメータとして文字列を必要とするクラスの関数を呼び出すことです。そのため、このテンプレートの特殊なバージョンを作成して、パラメータがaの場合にのみこの関数を呼び出すかconst char*
、関数内で条件付きチェックを行う必要があります。パラメータがaの場合にのみ関数を呼び出しますが、それも機能const char*
していないようです。どんな助けでもいただければ幸いです!
template<class myType> __declspec(nothrow)
std::string GetStrVal(int row, int col, myType default) {
try {
CheckColumnType(col, String);
}
catch(DatatableException e){
return default;
}
return this->m_rows[row][col];
}
template<class myType>
std::string GetStrVal(int row, const char* col, myType default) {
unsigned int columnIndex = this->GetColumnIndex(col);
return GetStrVal(row,columnIndex, default);
}
GetColumnIndex()
のみかかりますconst char*
。