问题描述
我正在上课
template<class T> class CT
{
T& operator()(int i,int j) const noexcept
{ return indx[i*N+j]; }
private:
T *indx;
int N;
};
现在在我的应用程序中的某些地方,我有以下内容
CT<double> arr,(...);
(...)
decltype(arr) *alias;
if(usearr)alias = &arr;
(...)
alias(0,0) = 3.0; // Compiler ERROR!
编译器抱怨我通过decltype
访问的对象类型不是函数或函数指针。
如果我在声明alias
中删除指针并将行替换为赋值过载,则可以解决问题
decltype(arr) alias;
if(usearr)alias = arr;
前一种方法有什么问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)