【发布时间】:2019-11-04 17:02:22
【问题描述】:
在下面的代码中,我想将“something”替换为允许我将“f”的类型声明为在 C 中传递的第二个参数(同时将 C 传递给 M 的模板)的东西,即,在此处浮动。
#include<iostream>
using namespace std;
template<class A, class B>
class C{
public :
A a;
B b;
};
template<class D>
class M{
public :
decltype(D::<something>) f; //!!!!!!!!!!!!!!!!
void show(){cout<<f;}
};
int main(){
M<C<int,float>> m;
m.show();
}
【问题讨论】:
-
decltype(D::b)够用吗? -
不,没有看到。无需研究 C 类的定义。@Quentin
标签: c++ c++11 templates parameters template-classes