C ++:将结构传递给函数

时间:2014-01-06 19:38:32

标签: c++ function struct parameter-passing

这是我正在做的事情:

在single.h文件中定义了一个struct:

typedef struct
{
    double x,y,z;
}PhysicalSize;

此结构用于single.cpp文件

PhysicalSize physicalSize;
physicalSize.x = xstageStepSize;
physicalSize.y = ystageStepSize;
physicalSize.z = zstageStepSize;

long SaveTIFFWithOME(wchar_t *filePathAndName, char * pMemoryBuffer, long width, long height, unsigned short * rlut, unsigned short * glut,unsigned short * blut,
                 double umPerPixel,int nc, int nt, int nz, double timeIncrement, int c, int t, int z,string * acquiredDateTime,double deltaT, 
                 string * omeTiffData, AcquireSingle::PhysicalSize physicalSize)    

我逐步完成了这个功能,似乎所有physicalSize.x, physicalSize.y and physicalSize.z都得到了正确的价值。但是,当我单步SaveTIFFWithOME()时,所有physicalSize.x, physicalSize.y and physicalSize.z看起来都很奇怪,好像它们从未被初始化一样。

我想知道我做错了什么,以及将结构作为参数传递给函数的正确方法是什么?感谢。

1 个答案:

答案 0 :(得分:5)

上面的代码没有任何问题。

你正好通过了这个结构!

SaveTIFFWithOME是否被破坏(可能超出这些缓冲区参数?)或者您错误解释了结果。