構造体の実装を隠そうとしています。構造体の定義は次の場所にありBoard.h
ます。
typedef struct Board* BoardP;
typedef const struct Board* ConstBoardP;
そして、必要に応じてメモリを割り当てたいBoard.c
:
#include <stdio.h>
#include <stdlib.h>
#include "Board.h"
#define TARGET_LENGTH 5
#define DEFAULT_BOARD_SIZE 10
struct Board*
newBoard(int r, int c)
{
struct Board *b = (struct Board*) malloc(sizeof(struct Board));
char ** array;
int i;
array = (char**) malloc( r*sizeof(char*) );
for (i=0; i<r; i++)
{
array[i] = malloc( c*sizeof(char) );
}
b->_values = array;
b->_last_player = 'X';
b->_size_r = r;
b->_size_c = c;
return b;
}
しかし、私はエラーが発生しています:
不完全なタイプ「struct Board」への「sizeof」の無効な適用</p>
私は今何時間もぐるぐる回っていて、私が作った混乱から頭を片付けてくれる人が必要です. 構造体内の配列にメモリを動的に割り当てたい場合、構造体を事前に定義するにはどうすればよいですか?