【问题标题】:"Array has incomplete element type" error [duplicate]“数组的元素类型不完整”错误[重复]
【发布时间】:2020-09-17 01:24:04
【问题描述】:

我正在尝试使用 2Darrays 创建一个多表,但我仍然遇到相同的错误。有人可以帮我解决这个问题吗:

我的代码:

#include "multiplication.h"
#include <stdio.h> 
int main(){
int num;
mulitpication(4);


}

void mulitpication(int num){
 /* initialize array and build*/
    int arr[num][num];
    for(int i=0; i<num;i++){
        printf("row number: %d ",i);
         for(int j=0;j<num;j++){
             printf("column number: %d", j);
            arr[i][j]= (i+1)*(j+1);
         }
    }
    }

显示的错误:

In file included from multiplication.c:1:
./multiplication.h:4:19: error: array has incomplete element type 'int []'
void print(int arr[][]);
                  ^
multiplication.c:5:1: warning: implicit declaration of function 'mulitpication' is invalid in C99 [-Wimplicit-function-declaration]
mulitpication(4);
^
multiplication.c:10:6: error: conflicting types for 'mulitpication'
void mulitpication(int num){
     ^
multiplication.c:5:1: note: previous implicit declaration is here
mulitpication(4);
^
1 warning and 2 errors generated.

【问题讨论】:

  • 请不要多次问同一个问题。而是编辑第一篇文章,以防其中缺少某些内容。

标签: c multidimensional-array


【解决方案1】:

您在定义之前调用该函数。确保

void mulitpication(int num);

在“multiplication.h”中

可能拼写错误?

【讨论】:

  • 我仍然收到错误:“./multiplication.h:4:19: 错误:数组的元素类型不完整 'int []' void print(int arr[][]);跨度>
  • 尝试在 multiplication.h 中指定数组列的大小。无效打印(int arr[][10])。如果你想动态分配大小,你可能喜欢使用向量而不是数组。
猜你喜欢
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 2014-01-31
  • 1970-01-01
相关资源
最近更新 更多