c++ - C++ 预期的嵌套名称说明符
问题描述
我收到错误消息expected nested-name-specifier before 'ClassB'
,但我不知道为什么。这是A类:
#include "ClassB.h"
template<typename T
class A
{
//implementation
friend class B;
};
现在这里是 B 类,它利用了 A 类
#include "ClassA.h"
class B
{
template<typename T>
void method1(typename ClassA<T>::struct varName) {}
}
但是,由于上面指定的错误,这不起作用。它与模板有关,但我不知道是什么。
解决方案
你的声明中有很多语法错误B::method1
,所以我猜你想B::method1
接受一个类型的参数A<T>
。
在这种情况下,您的classA.h
:
template<typename T
class A
{
//implementation
friend class B;
};
和classB.h
:
#include "ClassA.h"
class B
{
template<typename T>
void method1(A<T> varName) {}
}
推荐阅读
- java - ParseException 错误代码在发送到 react-native 层时丢失
- python - 从另一个线程调用线程中的方法,python
- python - 无法访问部署在谷歌云平台应用引擎上的flask web应用
- php - 使用 hmvc codeigniter 中的钩子在多个数据库之间切换
- r - R 编码 - 在 auto.arima() 中使用 Log() - 预测后我需要做一个反 log() 吗?
- mysql - SQL查询;从列表中搜索列表
- android - AutoCompleteTextView 的 performFiltering 一直被调用
- angular - 如何在角度材料日期选择器上添加蒙版
- php - php 使 div 类 'header-ads' 仅显示在 wordpress 主页上
- javascript - 如何填充可以引用任何已定义模型的 Id 字段?