以前に

文字の集合を表す構造体Setを定義し、要素を追加する 関数を定義し、その動作を確認しなさい。
追加した要素が 集合の新しい要素の場合1、既に存在していた場合0を返すとする。
int addset(Set &set,char a)

という質問をした者ですが、

#include<iostream.h>
#define MAX_CHAR_NUM 256

int addset(Set& set, char a);
struct Set{
int cp;
char data[MAX_CHAR_NUM];
}set;

int main()
{
int addset(Set& set, char a )
{
int i;
for(i=0; i<=set.cp; i++){
if(a==set.data[i]) return 0;
}
set.data[set.cp++]=a;
return 1;
}
}
まで行き着いたのですが、コンパイルしたらエラーがでます。
どのようにすればいいのか添削してくださる方いましたらおねがいします。
度々すいません・・・