PDA

View Full Version : سوال: مشکل در ارسال پارامتر متد



senior.sina
سه شنبه 23 اسفند 1390, 14:00 عصر
با عرض سلام خدمت اساتید محترم

یه متد دارم که میخوام باهاش دو تا عدد کسری رو از هم کم کنم

namespace ch6_2
{
class rational
{
public int x;
public int y;
public rational sub(rational ra1 ,rational ra2,rational temp)
{

temp.x=ra1.x*ra2.y-ra1.y*ra2.x;
temp.y = ra1.y * ra2.y;
}
}
}


اینم کد رویداد دکمه تفرق


private void Sub_Click(object sender, EventArgs e)
{
rational ra1 = new rational();
rational ra2 = new rational();
rational ra3 = new rational();
ra1.x = System.Convert.ToInt16(textBox1.Text);
ra1.y = System.Convert.ToInt16(textBox2.Text);
ra2.x = System.Convert.ToInt16(textBox3.Text);
ra2.y = System.Convert.ToInt16(textBox5.Text);
ra3.sub( ra1, ra2, ra3);
label5.Text = ra3.x.ToString() + "/" + ra3.y.ToString();
}
}

}

حالا انجا زیر کلمه sub تو تعریف متدش خط میکشه و ان اور رو میده

Error 1 'ch6_2.rational.sub(ch6_2.rational, ch6_2.rational, ch6_2.rational)': not all code paths return a value


مشکل چیه؟ در ضمن چرا تو تعریف متد sub جای اینکه نوعش رو انتخاب کنیم کلاسشو نوشتم همینطورم واسه پارامتر هاش

:متفکر: ما نفهمیدیم این کتاب داره به من یاد میده یا بیشتر سنگ میندازه جلو پام

متن کتاب: متد sub تفاضل دو کسر را با یک پارامتر از نوع ارجاع بر میگرداند:متفکر: :افسرده:

gwbasic
سه شنبه 23 اسفند 1390, 14:13 عصر
خروجی متد از نوع rational می باشد بنابراین باید return داشته باشد که ندارد خطا همین رو میگه!
یک راه اینکه خروجی رو void کنید
اما راه بهتر نوشتن return هست

senior.sina
سه شنبه 23 اسفند 1390, 14:29 عصر
خروجی متد از نوع rational می باشد بنابراین باید return داشته باشد که ندارد خطا همین رو میگه!
یک راه اینکه خروجی رو void کنید
اما راه بهتر نوشتن return هست
viod جواب داد