template <typename T>
class Test {
friend Test<T> & operator * (T lhs, const Test<T> & rhs) {
Test<T> r(rhs);
// return r *= lhs;
}
}
4 IntelliSense: identifier "T" is undefined
为什么 T
定义在第 3 行而不是第 4 行?我的意思是我想这不是一个真正的错误只是一个智能感知错误......无论如何它都有效但是有什么不对吗?我可以修好吗?或者以某种方式删除红色波浪线?
我用的是visual studio 2010,不知道其他版本会不会出现这种情况?
最佳答案
智能感知显示 T
未定义,因为它是通用模板类型。根据您实例化类的方式,T
将是不同的类型。例如,如果您有 Test<int> A
, T
类型为 int
, 但如果你调用 Test<string> A
, T
类型为 string
对于那个类及其方法。
关于c++ - Visual Studio 智能感知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1726104/