不正な1個の実引数をともなって? – プログラミング – Home

不正な1個の実引数をともなって?
 
通知
すべてクリア

不正な1個の実引数をともなって?


さかた
 さかた
(@さかた)
ゲスト
結合: 18年前
投稿: 1
Topic starter  

関数が、不正な1個の実引数をともなって、よびだされました、
というコンパイルエラーが起りました。
これは、とういうことなんでしょうか?
1入力1出力の関数として、
その宣言側で、
int A;
char B[6];
PlayS();

それを呼ぶ側で
A = PlayS(B);  

呼ばれる方で、
PlayS(char *FNI)
{
int Status;
:::::
:::::
return(Status);
} と、やっております。


引用解決済
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

>PlayS();
が違うのでは?
というか、int型の値を返すので、宣言も定義も頭の int は省略すべきではないので
は。

>PlayS();
int PlayS(char*);

>PlayS(char *FNI)
int PlayS(char *FNI)


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

宣言は引数無しの関数PlaySを宣言しているのに
呼び出す所ではPlaySに引数を一つ設定しているから
「関数が、不正な1個の実引数をともなって、よびだされました」
というエラーが出ていると思います。
と言うわけできわめてリーズナブルな理由だと思います。

呼び出される側と呼び出す側でのプロトタイプ宣言が違うのが問題です。
通常、この手のプロトタイプ宣言はヘッダーファイルで宣言しておいて
呼び出す側と呼び出される側の両方で同じ物を使うとおもいます。

あと、Blueさんが言われている返却値の部分も省略しないで明示した方が
良いと思います。省略する事でコーディング時のミスが起こりやすくなります。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました