爲什麼第一個聲明是確定的,但第二個是不是?爲什麼std::string
不適合?
template <typename T, T x> struct foo { };
using namespace std;
int main()
{
foo<int, 0> f_int; // ok
foo<string, ""> f_string; // not ok
}
我得到:
error: a non-type template parameter cannot have type 'std::basic_string<char>'
使用鐺++。