c++头声明错误

header declaration error C++

本文关键字:错误 声明 c++      更新时间:2023-10-16

我对标题声明有误解。请帮助m:

我的cpp文件:distancematrixfunction .cpp

float  DistanceMatrix::distanceMatrixFunc(int particleNumber,float xPos [], float yPos      
[], float zPos []) 
{
    int j, k  = 0;
    distanceMatrix_x[] = new float*[particleNumber];
    distanceMatrix_y = new float*[particleNumber];
    distanceMatrix_z = new float*[particleNumber];
    distanceMatrix   = new float*[particleNumber];
    for (int i = 0; i < particleNumber; i++){
    distanceMatrix_x[i] = new float[particleNumber];
    distanceMatrix_y[i] = new float[particleNumber];
    distanceMatrix_z[i] = new float[particleNumber];
    distanceMatrix[i] = new float[particleNumber];
}

distanceMatrixFunc.h功能:

class DistanceMatrix {
    float distanceMatrix_x;
    float distanceMatrix_y;
    float distanceMatrix_z;
    float distanceMatrix;
    int particleNumber;
    float xPos ;
    float yPos ;
    float zPos;
    float distanceMatrixFunc( int  particleNumber, float xPos , float  yPos , floatzPos);
};         

问题在我的cpp文件中:float DistanceMatrix::distanceMatrixFunc(int particleNumber,浮动xPos[],浮动yPos[],浮动zPos []错误声明与float

不兼容

头文件中的声明期望三个float变量,.cpp文件中的定义期望三个float数组。或者更改头文件中的声明,以期望有三个数组:

float distanceMatrixFunc( int  particleNumber, float xPos[] , float  yPos[] , floatzPos[]);

或.cpp文件中的定义期望三个float s:

float distanceMatrixFunc( int  particleNumber, float xPos , float  yPos , float zPos) {
    ...
}