任意の構造体を関数に渡してその型に関わらずメンバに値を格納していく、
といった関数をC言語で作りたいのですが、何かいい方法はないでしょうか?
簡単なものから作ろうと思い、メンバの型とサイズを一定にしたプログラムを
一応つくってみたのですが、
「エラー E2453 t_ka.cpp 19: 'void' 型のサイズは未知あるいはゼロ(関数 t_kansu(int,int,void *) )」
と出てしまいます。(Borland C++ 5.5)
回避方法はないでしょうか?

#include <stdio.h>
#include <string.h>
#define KYOUTU_LEN  10
/* 構造体 */
typedef struct {
  char a[KYOUTU_LEN];
  char b[KYOUTU_LEN];
  char c[KYOUTU_LEN];
}  KOUZOUTAI;
/* 作りたい関数 */
void t_kansu(int kata_len, int memba_num, void * t_kouzou){
  for(int i = 0; i < memba_num; i++)  {
    if(i) {memcpy(t_kouzou + (i * KYOUTU_LEN) + 1,"あいう",KYOUTU_LEN); }
    else { memcpy(t_kouzou + i,"あいう",KYOUTU_LEN); }
  }
}
/* 呼び出し側 */
main(){
  KOUZOUTAI  kouzoutai;
  memset(&kouzoutai,NULL,sizeof(KOUZOUTAI));
  /* 構造体の型(バイト数)、メンバ数、構造体の先頭アドレスを渡す */
  t_kansu(sizeof(KOUZOUTAI),3,&kouzoutai);
  return 0;
}