Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - errore funzione
Forum - C# / VB.NET - errore funzione

Avatar
microprocessore (Normal User)
Pro


Messaggi: 146
Iscritto: 18/06/2009

Segnala al moderatore
Postato alle 17:16
Martedì, 27/10/2009
uso c# devo richiamare una funzione... però mi viene segnalato il seguente errore:Errore    1    Occorre un riferimento a un oggetto per la proprietà, il metodo o il campo non statico 'ConsoleApplication1.Program.prima(int, int)'    

ecco il codice:
Codice sorgente - presumibilmente C++

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class Program
  9.     {
  10.         int prima(int x, int y)
  11.         {
  12.             int a;
  13.             int k = 0;
  14.             while (k < (2 * y))
  15.             {
  16.                 x = x * x;
  17.                 k++;
  18.             }
  19.             a = x;
  20.             return a;
  21.         }
  22.  
  23.         int seconda(int x, int y)
  24.         {
  25.             int b;
  26.             int k = 0;
  27.             do
  28.             {
  29.                 x = x * x;
  30.             }
  31.             while (k <= (2 * y));
  32.             b = x;
  33.             return b;
  34.         }
  35.  
  36.         int terza(int x, int y)
  37.         {
  38.             int c;
  39.             int k;
  40.             for (k = 0; k < 2 * y; k++)
  41.             {
  42.                 x = x * x;
  43.                 k++;
  44.             }
  45.             c = x;
  46.             return c;
  47.         }
  48.         static void Main(string[] args)
  49.         {
  50.             int W;
  51.  
  52.             Console.WriteLine("inserire il valore della radice");
  53.             int R = Convert.ToInt32(Console.ReadLine());
  54.  
  55.             Console.WriteLine("inserire il valore della metà dell'esponente");
  56.             int E = Convert.ToInt32(Console.ReadLine());
  57.  
  58.             W = prima(R, E);
  59.  
  60.         }
  61.     }
  62. }



da cosa viene causato questo errore?grazie in anticipo

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 17:57
Martedì, 27/10/2009
Prima e' un metodo (non statico) di una classe. Per usarlo, devi istanziare un oggetto di quella classe.


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:08
Martedì, 27/10/2009
Non ha concettualmente senso istanziare la classe program. Meglio rendere quei metodi statici, come Main.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
microprocessore (Normal User)
Pro


Messaggi: 146
Iscritto: 18/06/2009

Segnala al moderatore
Postato alle 19:54
Martedì, 27/10/2009
Testo quotato

Postato originariamente da Il Totem:

Non ha concettualmente senso istanziare la classe program. Meglio rendere quei metodi statici, come Main.


come si rendono statici?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 20:06
Martedì, 27/10/2009
Testo quotato

Postato originariamente da microprocessore:

Testo quotato

Postato originariamente da Il Totem:

Non ha concettualmente senso istanziare la classe program. Meglio rendere quei metodi statici, come Main.


come si rendono statici?



Parola chiave static ?


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote