我试图在c ++中传递数组参数。 像这样的代码。
main()
{
...
double *terms = new double[9];
GuassianTerms(9,1,terms);
<这里的术语没有正确的值>
...}
double Cmfc_test5Dlg::Guassian(int x, double sigma)
{
double c = 2.0 * sigma * sigma;
return exp(-x * x / c) / sqrt(c * 3.141592f);
}
double Cmfc_test5Dlg::GuassianTerms(int kernalSize, double sigma, double terms[])
{
terms = new double[kernalSize];
for (int i = 0; i < kernalSize; ++i) {
terms[i] = Guassian(i - kernalSize / 2, sigma);
}
return 1;//*terms;
}
但是术语的价值观有些错误。
如何获得传递参数?
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
double Cmfc_test5Dlg::GuassianTerms(int kernalSize, double sigma, double* terms)
{
for (int i = 0; i < kernalSize; ++i) {
terms[i] = Guassian(i - kernalSize / 2, sigma);
}
return 1;//*terms;
}