我想要制作类模板,唯一的模板参数n
将用于制作std::array<double,n>
数据成员。但是,当我使用类型别名时,这很棘手。当您尝试写下类方法的返回类型时,似乎无法识别类型别名。对此最好的解决方法是什么?
#include <array>
#include <iostream>
template<size_t n> class C {
using arr = std::array<double,n>;
public:
C();
arr func();
};
template<size_t n>
C<n>::C() {}
template<size_t n>
arr C<n>::func() { // <--------------------right here
arr temp;
for(size_t i = 0; i < n; ++i)
temp[i] = i;
return temp;
}
int main(int argc, char **argv) {
C<10> obj;
}