コンパイラ:bcc32
エラー E2303 ファイル名.c 287: 型名が必要

typedef struct byteArray {
char* buf;
int length;
int type;
}ByteArray;

extern int recvByLen(const SOCKET soc, ByteArray* array);

int recvByLen(const SOCKET soc,ByteArray array){
  処理
}

この様に定義して作った構造体と関数を使いたいのですが、いざコンパイルをかけるとコンパイルエラーとして上記のエラーがはき出されます。
おそらく第2引数のことを指しているとは思いましたが、呼び出し側も関数側の方もスペルは合ってます。

このエラーが出る考えられる原因を教えてください。