Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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.

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.

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 ?

PM Quote