2017-09-30 3 views
-1

に私は、「B2」Form1.checkInfo(PointF、PointF、PointF、PointF」が必要な仮パラメータに対応して与えられた引数はありませんパスパラメータはメソッド

エラーCS7036のエラーを取得していますref PointF) 'WindowsFormsApplication1

私はメソッドにパラメータを渡そうとします。これは私の構文であり、私にはb2が宣言され、割り当てられて渡されているように見えますが、エラーを取り除くために何を変更する必要があるかはわかりません!

private void button1_Click(object sender, EventArgs e) 
{ 
    Point[] points = new Point[] { new Point { X = -100, Y = 0 }, new Point { X = 0, Y = 0 } }; 
    PointF returnedPoint = new PointF(); 
    for (int i = 0; i < points.Count(); i++) 
    { 
     float X1value = points[i].X; 
     float X2value = points[i-1].X; 
     float Y1value = points[i].Y; 
     float Y2value = points[i-1].Y; 
     checkInfo(new PointF(X1value, Y1value), new PointF(X2value, Y2value), ref returnedPoint); 
    } 
} 
bool checkInfo(PointF a1, PointF a2, PointF b1, PointF b2, ref PointF returnedPoint) 
{ 
    //Do stuff here 
} 
+0

まあはい:

以下の私のコメントを参照してください値渡し、続いて参照渡し。あなたはそれをどのように期待していますか? 'checkInfo'は何を求めているのですか? –

+0

@JonSkeet - 私の頭の中で何が起こっているのですか?私は2つのPointFを渡しています。私はPointF a1を受け取っています。これはX1Value、a2はY1value、b1はX2value、そしてb2はY2valueです。 ref。だから、すべてが整列しますか? – IcyPopTarts

+2

ポイントはX値*と* Y値で、1だけではありません。あなたは 'PointF a、PointF b'を持つか、パラメータを' float ax、float ay、float bx、float by'に変更し、 'X1value、Y1value、X2value、Y2value'を渡す必要があるようです。ポイントとX値またはY値の違いについてより明確に考える必要があります。 –

答えて

1

エラーCS7036は 'B2' 'Form1.checkInfo(PointF、PointF、 PointF、PointF、REF PointF)' WindowsFormsApplication1

の 必要な仮パラメータに対応して与えられた引数はありません

あなたのメソッドcheckInfo(PointF a1, PointF a2, PointF b1, PointF b2, ref PointF returnedPoint)は5つのパラメータをとりますが、パラメータは3つのみでcheckInfo(new PointF(X1value, Y1value), new PointF(X2value, Y2value), ref returnedPoint)となります。エラーメッセージは、欠落しているパラメータについて不平を言います。 *あなたが参照することにより、いずれかが続く値によって* 2 * `Point`値を渡すためにしようとしている、と方法があり4 *` Point`パラメータ -

private void button1_Click(object sender, EventArgs e) 
{ 
    Point[] points = new Point[] { new Point { X = -100, Y = 0 }, new Point { X = 0, Y = 0 } }; 
    PointF returnedPoint = new PointF(); 
    for (int i = 0; i < points.Count(); i++) 
    { 
     float X1value = points[i].X; 
     float X2value = points[i-1].X; 
     float Y1value = points[i].Y; 
     float Y2value = points[i-1].Y; 

     // Error located here: Only 3 parameters passed - You need to pass 2 more instances of 'PointF' 
     checkInfo(new PointF(X1value, Y1value), new PointF(X2value, Y2value), ref returnedPoint); 
    } 
} 

// Takes 5 parameters 
bool checkInfo(PointF a1, PointF a2, PointF b1, PointF b2, ref PointF returnedPoint) 
{ 
    //Do stuff here 
} 
+0

AH - 受信メソッドがPointF()を個々のPointFに解析していると思ったのは理にかなっています。 – IcyPopTarts

関連する問題