2011-01-29 12 views
0

に変換できません。プログラムを実行していましたが、それほど重要ではありません。どうやら、私は浮動小数点関数にパラメータを送ることはできません。 次のようなコードを見て何かをエラーのあるC++ヘルプ:パラメータ1を 'float'から 'float [] [2]

float myfunction(float array[1][2]) 
{ 
// ... 
return 0; 
} 

int main() 
{ 
float array[1][2]; 
int foo = 0; 
// assigning values to the array 

foo = myfunction(array[1][2]); 
return 0; 
} 

私は、私はエラーを取得するコンパイルしよう は何が問題である「に 『フロート』からパラメータ1を変換することはできません「[] [2]フロート」?そして私はそれをどのように解決できますか?

+0

さて、私は間違いを見ます。手伝ってくれてありがとう! – Janman

答えて

2

物事のカップル特定のセルを渡していません。 float myfunction(float array[][2])またはfloat myfunction(float (*array)[2]):何それは実際意味があるので、

まず、関数は、(あなたfloat myfunction(float array[1][2])が混乱して試作しました。この関数は、2つのfloatの(1つまたは複数の)配列へのポインタを受け取ります。関数は配列へのポインタを受け入れるので、あなたはそれを単一フロートを渡すためにtryinmgている間

第二には、あなたが得るエラーは、ある - の要素[1] [2] 2次元配列float array[1][2]の。おそらく、配列全体を関数に渡すことを意図していたでしょうか?

+0

ああ。私は自分自身のことを理解していないので、ちょっとばかげている気がしますが、答えに感謝します! – Janman

4

ただ、インデックスなしで、配列を渡す:

foo = myfunction(array); 
+0

助けてくれてありがとう – Janman

0

あなたは、配列

+0

助けてくれてありがとう! – Janman

2

あなたは、変数を定義した:float array[1][2]; その後、あなたはこのように関数を呼び出す:パラメータとしてfoo = myfunction(array); を、あなただけが変数名を設定する必要があります。 foo = myfunction(array[1][2]);

myfunction(float Array[][w])と入力してください。関数の型(void、float ...)を入力し、定数の整数を「w」と入力します。

関連する問題