一类的多维矩阵
Multidimensional matrix of a class
本文关键字:一类 更新时间:2023-10-16
我是c++新手。
class ProjectionValue{
public:
int angleLength;
int detectorIndex_xLength;
int detectorIndex_yLength;
double ***matrix;
ProjectionValue(int angleLength, int detectorIndex_xLength, int detectorIndex_yLength);
~ProjectionValue();
};
我在主类中声明了ProjectionValue类(我的类)的3d矩阵。
ProjectionValue*** A_projection [10][10][5];
for(int x=0; x< A->Tomo->object3d->Nx; x++)
{
for(int y=0; y< A->Tomo->object3d->Ny; y++)
{
for(int z=0; z< A->Tomo->object3d->Nz; z++)
{
for( int kk=0; kk<11; kk++)
{
for(int m=0; m < A->Tomo->detector->Nx; m++ )
{
for(int n=0; n < A->Tomo->detector->Ny; n++ )
{
(**A_projection[x][y][z])->matrix[kk][m][n] = A->Tomo->ICD_projection(*A->Tomo->xraysource->Source,*A->Tomo->detector->GetCoordinates(m,n), initial_object, x, y, z);
}
}
A->Tomo->xraysource->RotateXRaySource(-5);
A->Tomo->detector->RotateDetector(-5);
}
}
}
}
我取"类型为'System '的未处理异常。AccessViolationException' occurred in Form_Solution.exe '。在这里:
(**A_projection[x][y][z])->matrix[kk][m][n] = A->Tomo->ICD_projection(*A->Tomo->xraysource->Source,*A->Tomo->detector->GetCoordinates(m,n), initial_object, x, y, z);
这个问题我该怎么做,我的类的3d矩阵的声明有什么问题吗?矩阵的分配内存是必要的,我怎么做?
This:
ProjectionValue*** A_projection [10][10][5];
不是"一个ProjectionValue
类的3D数组"。它是一个指向ProjectionValue
的指针对指针的3D数组。您可能需要:
ProjectionValue A_projection [10][10][5];
除非你想自己分配(和取消分配)所有指针和对象的额外开销。
我会改变你个人的写作方式。除非你想编写自己的动态分配数组类,否则我会使用stl vector。
using std::vector;
class Matrix3D
{
public:
Matrix3D(unsigned x, unsigned y, unsigned z)
{
data.clear();
data.resize(x);
for(unsigned i=0;i<data.size();++i)
{
data[i].resize(y);
for(unsigned j=0;j<data[i].size();++j)
{
data[i][j].resize(z);
}
}
}
vector< vector< vector< float > > > data;
};
我没有尝试编译这个
相关文章:
- 如何创建从同一类继承的不同对象的向量
- 获取从C++中同一类中的构造函数调用的方法返回的值
- C++如何将同一类的实例作为属性
- 如何封装一个函数,以便它只能由同一类中的一个其他函数调用?
- 如何使用connect将qml按钮与同一类的cpp函数连接起来
- C++交换来自同一类成员的参数值,处理多个类
- 使用同一类中的方法重新分配字段时出现问题
- 类成员函数无法访问同一类的私有结构节点?
- 无法将指向类的成员函数的函数指针作为参数传递给同一类的另一个成员函数
- 有没有办法从同一类中的函子调用类方法?
- 在 c++ 中将对象设置为等于同一类的构造函数是否有效?
- 同一类的两个对象相互引用
- 当两个成员位于同一类中时出错"a nonstatic member reference must be relative to a specific object"
- 如何将一个类的成员函数用作另一类的友元函数
- Poco 计时器,具有来自同一类的回调
- 如何获取同一类函数中类成员的函数指针?
- C++转换为同一类
- GCC7 在同一类中推断出常量修饰符的存在
- 打印同一类中的 3 个对象
- 在 c++ 中,同一类的一个对象如何分配给同一类的另一个对象?