c++ - 模板类中嵌套类的成员函数模板
问题描述
我在 MSVC 2019 中弄乱了模板,遇到了以下情况:
template <class T>
class A {
struct B;
}
template <>
struct A<int>::B {
template <class U>
void f(U u);
}
template <class U>
void A<int>::B::f(U u) {
}
int main() {
return 0;
}
这会产生以下编译器错误:
C2244 无法将函数定义与现有声明匹配
我的问题是:我可以拥有一个带有嵌套结构的类模板,然后只为该封闭类的一个特化定义这个结构,以便该结构具有模板成员函数吗?
Obs1:首先,我认为这是由于尚未实例化带有 int 的 A 模板,但是添加带有 int 模板参数的 A 的显式实例化并没有帮助。
Obs2:在类体内定义 f inline 确实可以解决问题,但是我希望能够专门化 f。
英语不是我的主要语言,请原谅我可能犯的任何错误。
解决方案
推荐阅读
- python-3.x - DataFrame:我如何按 Z 分组并计算 Y 范围内的平均 X
- sql - 查找用于将财政季度结果与上一年进行比较的查询
- css - -webkit-transform:rotateY 在 Mac OS 上失败
- reactjs - 由于数组反应原生而无法获取 api
- python - 使用 scikit-learn 管道与手动操作时的不同分数
- python - 为 Keras 重塑一维 Numpy 数组
- python-3.x - 如何使用 BeautifulSoup 访问元素属性?
- javascript - Javascript通过布尔属性从Neo4j过滤器中获取数据
- python - python3.7版本的aws-sam-cli包的pip安装
- c# - 如何在外部应用程序上呈现内部 PowerBI 报表服务器报表?