C++ 在C+中的类中嵌入的其他函数中使用main函数的结果+;

C++ 在C+中的类中嵌入的其他函数中使用main函数的结果+;,c++,parameter-passing,C++,Parameter Passing,假设这是我的主要功能代码: m是该函数的最终结果矩阵,shaprDetect()是class Vsharp的函数。现在,我想使用函数shaprDetect中的m对其进行一些处理 void Vsharp::shaprDetect(){} 现在告诉我如何在这个函数中使用m。 他们都是同一个项目的一部分 int main(int argc,char*argv[]) { m.at<float>(i,j) = exp(-RR/(2b2))(1-exp(-S2/(2c2)))*exp(

假设这是我的主要功能代码:

m
是该函数的最终结果矩阵,
shaprDetect()
class Vsharp
的函数。现在,我想使用函数
shaprDetect
中的
m
对其进行一些处理

void Vsharp::shaprDetect(){}

现在告诉我如何在这个函数中使用
m
。 他们都是同一个项目的一部分

int main(int argc,char*argv[]) 
{
    m.at<float>(i,j) = exp(-RR/(2b2))(1-exp(-S2/(2c2)))*exp(-hypotenuse/gradscale); 
    return 0; 
}
intmain(intargc,char*argv[])
{
m、 at(i,j)=exp(-RR/(2b2))(1-exp(-S2/(2c2)))*exp(-斜边/梯度标度);
返回0;
}

您不能真正使用main的返回值。因为你的程序已经退出了。假设您的shaprDetect方法实际上接受了一个参数m,请执行如下操作(但请注意,由于您没有发布关于m是什么的任何详细信息,我不得不在这里猜测)

intmain(intargc,char*argv[])
{
m、 at(i,j)=
exp(-RR/(2b2))(1-exp(-S2/(2c2))*exp(-斜边/刻度);
//现在在这里调用shaprDetect函数
Vsharp vs;
vs.shaprDetect(m);
返回0;
}  

这是格式错误的代码。或者所有参数都是全局的,可以从shaprDetect()中访问m,或者程序无法编译。基本上,m是一个图像矩阵。这意味着我们不必在Vsharp类的函数shaprDetect中使用main函数的结果,而必须在main函数中使用函数shaprDetect。基本上就是这样,是的。但这是最基本的东西。给自己找一本关于C++的好书。谢谢你的回答
int main(int argc,char*argv[]) 
{
    m.at<float>(i,j) = 
        exp(-RR/(2b2))(1-exp(-S2/(2c2)))*exp(-hypotenuse/gradscale); 
    //now call your shaprDetect function here

    Vsharp vs;
    vs.shaprDetect(m);

    return 0; 
}