模板参数作为变量

| 有什么方法可以将模板参数用作变量? 例如,如果我有一个功能
template<int dim>
void DomainGrid<dim>::getData(Data data_, int field_dim)
{
    int size_ = field_dim *dim; // Compiler Error Here
    for(int i =0; i<size_; ++i)
       std::cout<<data_[i]<<std::endl;
}
我可以得到类似的功能吗?编译此函数会在以下位置产生错误
invalid use of member (did you forget the ‘&’ ?)
无论是否调用该函数,都会出现错误 我猜是因为这个问题...     
已邀请:
        重命名模板参数还是成员函数? 这似乎是最简单,最直接的解决方案。每当多个符号具有相同的名称时,您就有可能发生名称冲突。因此,在这种情况下,请勿对多个符号使用相同的名称。 (这是假设您具有成员函数
dim()
。我根据错误消息假设是这样做的,但实际上可能包含在问题中,这可能是有用的信息。)     
        
int size_ = field_dim *dim; // Compiler Error Here
很好这不能是错误。 真正的问题不在您在此处发布的代码中。因此,发布ѭ4的定义和完整的错误消息。     

要回复问题请先登录注册