如果传递给函数的参数的数据类型是字符串类型,则抛出异常

时间:2015-09-25 22:20:59

标签: c++

我有一个方法可以接收模板类类型的数据类型。在该函数中,如果参数的数据类型不是字符串类型,则必须进行进一步处理。并且,如果参数是字符串类型,那么我想进行异常处理。

template<class K>

class Student
{
private:
    K array[10];
public:
    void assignvalues( K const& index,  const K& val )
    {

        //NOW, I want to check here that the index is not of string type

        array[index] = val;
    }

};

int main()
{
    Student <int> object;
    object.assignvalues(5,9);

    //BUT THIS WILL NOT WORK
    Student <string> object;
    object.assignvalues("Hi","value");

    return 0;
}

1 个答案:

答案 0 :(得分:0)

如何使用std::is_same

if (std::is_same<K, string>::value) {
    // K is string ...
}