Kezdőoldal » Számítástechnika » Programozás » C# függvény hívása másik...

C# függvény hívása másik osztályból?

Figyelt kérdés

Létrehoztam egy osztályt. Ott vannak a műveleteket végző függvények.


Utána ahol használni akarom, ott példányosítottam.

muveletek m=new muveletek();


és megakarom hívni pl a faktoriális számító függvényt

m.fakt(numClicks) és valamiért hibát dob rá. Mi lehet az oka?


Hibaüzenet:"Error 1 A field initializer cannot reference the non-static field, method, or property 'WindowsFormsApplication1.Form1.m' C:\...

"


2013. márc. 16. 18:14
 1/9 anonim ***** válasza:

Nyilvánvalóan valami hiba van a kódodban.

Kód nélkül szerinted megtaláljuk? :)

2013. márc. 16. 18:29
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

[link]


A műveletek osztály függvényei nem számolnak jól és ez most nem is lényeg. Csak beírtam valamit, hogy meg lehessen hívni egyelőre. De a meghívással vannak gondok.

2013. márc. 16. 18:37
 3/9 anonim ***** válasza:

Elég fura dolgok vannak a kódodban. Egyrészt a String.Format első paramétere egy string kellene hogy legyen, de te egy intet adsz át neki (a muveletek.fakt eredményét)

Másrészt a fakt függvény nem faktoriálist számít, mivel az "eredmény" változó értéke kezdetben 0, így bármivel szorzod 0 marad. Érdekes a gyökvonó algoritmusod is. Egyébként nálam "működik". Mi a pontosabb hiba? Nem fordul le? Légyszi másold ki a teljes hibaüzenetet.

2013. márc. 16. 20:16
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

A faktoriális semmi esetre sem adhat 0-t, mivel 1-től indítom a ciklust. De mint említettem nem a függvények működése a lényeg, azokat kijavítom. Csak valami van benne, hogy fusson.


A hibaüzenet pedig ott van a kérdés végén.

2013. márc. 16. 20:38
 5/9 anonim ***** válasza:

Légyszi másold ki a teljes hibaüzenetet. Láttam, hogy ott van az eleje, de ...-tal le van vágva. Szóval mi a vége? A végén van a sorszám és oszlopszám, ahol a hiba van. Az segítene kideríteni a hiba pontos helyét.


(Az pedig mindegy, hogy a for ciklust honnan indítod, mivel azon belül csak szorzod az eredmény változót, aminek a kezdeti értéke 0, hiába szorzod 1-gyel, az nem lesz több mint 0, de ez mindegy)

2013. márc. 16. 21:19
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

Error 1 A field initializer cannot reference the non-static field, method, or property 'WindowsFormsApplication1.Form1.m' C:\...\Form1.cs 36 17 WindowsFormsApplication1


A hiba üzenetből csak a hely maradt ki.


(A for-t meg valóban elnéztem, azt hittem egyre van állítva szám is. De ez végül is most lényegtelen.)

2013. márc. 16. 21:24
 7/9 anonim ***** válasza:
A pastebinre biztos, hogy azt a kódot raktad be, ami a hibát adja? A 17. sorban nincs is semmi.
2013. márc. 17. 09:11
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

label1.Text = m.fakt(numClicks);


vagy label1.Text = m.fakt(numClicks).ToString();

2013. márc. 17. 09:22
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:
Megoldottam, köszi.
2013. márc. 17. 10:55

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!