您最喜爱的技术社区。浏览所有集合
提出问题,找到答案,并与团队堆栈溢出协作。
提出问题,找到答案,并与团队堆栈溢出协作。探索团队
找到集中、可信的内容,围绕您最常用的技术进行协作。
团队
工作问答
在一个结构化且易于搜索的位置内连接和共享知识。
尽早访问并查看新功能的预览。
模板<类型名T>类别测试{友元测试(T lhs,const Test){试验<T>r(rhs);//返回r*=lhs;}}
4智能感知:标识符“T”未定义
为什么是T型定义在第3行,而不是第4行?我的意思是,我想这不是一个真正的错误,只是一个智能感知错误。。。不管怎样,它还是有效的,但有什么问题吗?我能修一下吗?或者以某种方式去掉红色波浪线?
T型
我正在使用visual studio 2010。我想知道这是否也发生在其他版本中?
测试
测试<T>
智能感知节目T型未定义,因为它是通用模板类型。根据您实例化类的方式,T型将是不同的类型。例如,如果您有测试<int>A,T型类型为整数,但如果你打电话测试<string>A,T型类型为一串对于该类及其方法。
测试<int>A
整数
测试<string>A
一串
它似乎被类中的定义弄糊涂了。因此,将代码更改为:
模板<类型名T>类别测试{友元测试(T lhs,const Test)&rhs;};模板<类型名T>测试<T>&操作员*(T lhs,常数测试<T>&rhs){试验<T>r(rhs);}
让问题消失。
这似乎是编译器中的一个错误,根据我对规范(特别是11.4/5)的阅读,您的代码应该是合法的。
提醒:堆栈溢出上不允许使用人工智能工具生成的答案。了解更多信息
必需,但从未显示
Required, but never shown
单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策。