c++ - 表达式无法识别函数c++中的指针

标签 c++ class pointers c++11 parameters

我在 NumberArray.h 中有 class NumberArray

class NumberArray
{
 private:
  double *aPtr;
  int arraySize;



public:
  NumberArray(NumberArray &);
  NumberArray(int size, double value);
  NumberArray() { if (arraySize > 0) delete[] aPtr; }
  void print() const;
  void setValue(double value);

};

在我的 cpp 文件中,NumberArray.cpp 我定义了构造函数

NumberArray(NumberArray &)

NumberArray::NumberArray(NumberArray &obj)
{
  arraySize = obj.arraySize();
  aPtr = new double[arraySize];
  for (int index = 0; index < arraySize; index++)
    {
      aPtr[index] = obj.aPtr[index];
    }
}

据我所知,这应该可行。但是,我收到错误消息“明显调用的括号前的表达式必须具有(指针到)函数类型。

我以为我已经有了点对函数类型...

有人可以帮我解决我哪里做错了吗?

最佳答案

arraySize = obj.arraySize();

arraySize 是一个类成员。它不是类方法。这应该是:

arraySize = obj.arraySize;

关于c++ - 表达式无法识别函数c++中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36732108/

相关文章:

c - 如何在c中分配结构体数组?

c++ - 当多维数组是结构的属性时,如何通过引用传递它?

c++ - 结构和类在 C++ 中真的是等价的吗?

python - 我可以加入类(class)列表吗?

c++ - 调试分布式 OR 操作

c++ - 避免将 header 重新声明为源文件

python - Python中命名空间对象的含义

c -++*argv、*argv++、*(argv++) 和 *(++argv) 之间的区别

c++ - boost Asio : Strange when use streambuf and async_write in mutl-thread

c++ - 为什么 std::unique_ptr operator* 抛出而 operator-> 不抛出?