我有一个Mat_<long double>
矩阵。我需要long double
来执行大矩阵的乘法(两者都是10x4096)。但问题是以这种方式传递给函数:func(Mat first)
使得函数中的元素大小为8字节,尽管我需要16但是func(Mat_<long double> first)
导致链接器对函数的未定义引用。所以问题是如何将Mat_<long double>
传递给函数?
答案 0 :(得分:2)
您需要更改函数的原型以传递不同的参数类型:
原型:
func(Mat_<long double> first);
定义:
func(Mat_<long double> first)
{
..
}
用法:
Mat_<long double> example;
func(example);
备注:强>
谨慎使用long double
,非常便携,different compilers treat it differently
当您使用大矩阵时,还考虑通过引用(Mat_<long double> &
)而不是val来表示性能原因。