関数呼び出しの引数が多すぎます とでる

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
EIYUU
記事: 24
登録日時: 13年前
住所: Home

関数呼び出しの引数が多すぎます とでる

#1

投稿記事 by EIYUU » 13年前

コードは、だいたいこんなかんじ

コード:

//システム.cpp
int talk(void){
c++;
	for(int j=0;j<256;j++){
		if(oldKey[j]==0&&Key[j]==1)
			Key[j]=2;
		oldKey[j]=Key[j];
	}
	if(c>=100){
	if(CheckHitKey(KEY_INPUT_RETURN)==1){
		c=0;
		i=0;
		ch_i++;
	}
	}
	if(i<=80-2&&ch[ch_i][i]!='\0'&&counter%5==0){
		i+=2;
		strncpy(disp,ch[ch_i],i);
		disp[i]='\0';
	}
	DrawFormatString(50,350,white,"%s",disp);
	counter++;
    if(ch_i>=6){
		g=1;
		return g;  //ここでこのgだけを返したい
	}
}

コード:

//main.cpp
ループ{
switch(state){
case 1:
   //いろいろ
case 2:
   state=talk(state);  //ここに問題が発生
  }
 }
こうなっているのですが、こうすると、問題が発生と書いてある部分で、
関数呼び出しの引数が多すぎます とエラーがでてしまいます。
このgの値をstateに渡したいのです。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 関数呼び出しの引数が多すぎます とでる

#2

投稿記事 by みけCAT » 13年前

talkの引数はvoidなのに、stateという引数を渡しているのが問題です。

コード:

state=talk();
としてください。

エラーそのままの意味ですけど…
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

box
記事: 2002
登録日時: 15年前

Re: 関数呼び出しの引数が多すぎます とでる

#3

投稿記事 by box » 13年前

コンパイルエラーの件はさておき…。
EIYUU さんが書きました:

コード:

    if(ch_i>=6){
		g=1;
		return g;  //ここでこのgだけを返したい
	}
ch_iが6以上のときには1を返しますが、それ以外のときには
何を返すか不定です。それでかまわないんですね?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

EIYUU
記事: 24
登録日時: 13年前
住所: Home

Re: 関数呼び出しの引数が多すぎます とでる

#4

投稿記事 by EIYUU » 13年前

ありがとうございます!
ほかの部分は、自己解決しました

閉鎖

“C言語何でも質問掲示板” へ戻る