gpt4 book ai didi

c++ - 在函数内部调用函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:25:52 24 4
gpt4 key购买 nike

这个函数定义有什么问题?我已经创建了这两个函数,第二个函数调用第一个函数,所以我想要的是,根据第一个函数中的 if,调用 AlignCamera();将改变 AlignXAXis() 中发生的事情;

void AlignCamera();
{
double cx = ox+(0.5*(xmax-xmin))*sx;
double cy = oy+(0.5*(ymax-ymin))*sy;
double cz = oz+(0.5*(zmax-zmin))*sz;
int vx=0;
int vy=0;
int vz=0;
int nx=0;
int ny=0;
int nz=0;
int iaxis = current_widget->GetPlaneOrientation();

if (iaxis == 0)
{
vz = -1;
nx = ox + xmax*sx;
cx = ox + 256*sx;
}
else if (iaxis == 1)
{
vz = -1;
ny = oy + ymax*sy;
cy = oy + 512*sy;
}
else
{
vy = 1;
nz = oz +zmax*sz;
cz = oz + 64*sz;
}
int px = cx+nx*2;
int py = cy+ny*2;
int pz = cz+nz*3;

vtkCamera *camera=ren->GetActiveCamera();
camera->SetViewUp(vx, vy, vz);
camera->SetFocalPoint(cx, cy, cz);
camera->SetPosition(px, py, pz);
camera->OrthogonalizeViewUp();
ren->ResetCameraClippingRange();
renWin->Render();
}

// Define the action of AlignXAxis
void AlignXAxis();
{
int slice_number;
int po = planeX->GetPlaneOrientation();
if (po == 3)
{
planeX->SetPlaneOrientationToXAxes();
slice_number = (xmax-xmin)/2;
planeX->SetSliceIndex(slice_number);
}
else
{
slice_number = planeX->GetSliceIndex();
}

current_widget= planeX;
ui->horizontalScrollBar->setValue(slice_number);
ui->horizontalScrollBar->setMinimum(xmin);
ui->horizontalScrollBar->setMaximum(xmax);
AlignCamera();
}

需要的变量在它前面定义好,比如ox,oy,oz....

当我运行它时,它说 undefined reference “AlignCamera()”或“AlignXAxis()”。

最佳答案

void AlignCamera();  //This is merely a prototype, not a declaration.

删除分号,或之后创建声明。

void AlignCamera();  //Prototype
void AlignCamera() { //Declaration
//Do Stuff
}

其他功能也一样。删除那个分号。

关于c++ - 在函数内部调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12058325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com