使用类处理二维数组时遇到的一个小问题

ssa*_*ahu 0 c++ class multidimensional-array

class linklist4x4
{
 private:

  struct node4x4
  {
    double data[4][4];
    node4x4 *link;
  }*p;

 public:

 linklist4x4();
        void append( double* num );
        void add_as_first( double* num );
        void addafter( int c, double* num );
        //void del( double* num );
        void display();
        int count();
 double* getdata(int c);
        ~linklist4x4();
};
Run Code Online (Sandbox Code Playgroud)

以上是我的班级声明.

现在下面是一个函数声明.

void linklist4x4::append(double* num)
{
 node4x4 *q,*t;

 if( p == NULL )
 {
  p = new node4x4;
  for(int i=0;i<4;i++)
   for(int j=0;j<4;j++)
    p->data[i][j]=num[i][j];//error line
  p->link = NULL;
 }
 else
 {
  q = p;
  while( q->link != NULL )
                        q = q->link;

  t = new node4x4;
  for(int i=0;i<4;i++)
   for(int j=0;j<4;j++)
    t->data[i][j]=num[i][j];//error line
  t->link = NULL;
  q->link = t;
 }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,它给出了一个错误,指出"错误C2109:下标需要数组或指针类型"在标记的注释行,如图所示.

有人可以帮忙吗?

Max*_*keh 5

num传递是一个double指针,而是你正试图指数它有两个标.如果您确实传入4x4 double数组,请更改函数签名以指示它是这样的.