不相容的类声明c ++

时间:2016-04-19 20:53:59

标签: c++ class declaration

我在NumberArray

中有NumberArray.h
class NumberArray
{
private:
  double *aPtr;
  int arraySize;

public:
  NumberArray(int size, double value);

  // ~NumberArray() { if (arraySize > 0) delete [ ] aPtr;}
  //commented out to avoid problems with the
  //default copy constructor
  void print() const; 
  void setValue(double value);
};

当我去编写NumberArray.cpp中的打印功能时

void NumberArray::print()
{
  for (int index = 0; index < arraySize; index++)
    cout << aPtr[index] << "  ";
}

它给了我一个错误

  

声明与&#34; void NumberArray :: print()const

不兼容

我对此可能出错的任何想法? 其余的构造函数和类函数工作正常。

1 个答案:

答案 0 :(得分:9)

您忘记将const限定符(以及分号)添加到函数定义的签名中。

你必须这样做:

void NumberArray::print() const
{
  for (int index = 0; index < arraySize; index++)
    cout << aPtr[index] << "  ";
}