Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2014, 00:12   #1
Vilkas
 
Регистрация: 21.03.2014
Сообщений: 7
По умолчанию Ошибка при вызове функции

Здравствуйте, помогите пожалуйста исправить ошибку:
An object reference is required for the non-static field, method, or property 'ConsoleApplication1.Program.change Var(int)
C#
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
       
        void changeVar(int v)
        {
            v = 1;
        }
        public static void Main() 
        {
            int myVar;
            changeVar(myVar);
            Console.WriteLine(myVar);
        }
    }
}

Последний раз редактировалось Vilkas; 15.12.2014 в 00:14.
Vilkas вне форума Ответить с цитированием
Старый 15.12.2014, 08:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты в static функции main() вызываешь нестатическую changeVar, о чем тебе и говорит компилятор. Стаические функции в отличии нестатических не требуют создания объекта, потому main() и работает.
Сделай changeVar static-ом и все будет ок.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.12.2014, 06:18   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Даже если исправить статик, работать не будет, скорее всего, не скомпилируется код, ибо не инициализирована переменная.
Надо использовать ref параметр (либо функцию с возвратом и присвоением результата переменной):
Код:
        static void changeVar(ref int v)
        {
            v = 1;
        }
        public static void Main() 
        {
            int myVar;
            changeVar(ref myVar);
            Console.WriteLine(myVar);
        }
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при вызове табличной функции в SQL Server Ilyard SQL, базы данных 1 05.04.2014 21:38
Ошибка линковки при вызове функции другой библиотеки revaldo666 Общие вопросы C/C++ 2 23.07.2012 16:45
#ЗНАЧ при вызове функции из ячейки Plasmer Microsoft Office Excel 6 04.04.2012 00:59
Ошибка при вызове функции Access violation Hottabych Win Api 1 22.01.2011 20:35
Ошибка при вызове хранимой функции MySQL tavrocotaps Общие вопросы .NET 0 23.04.2010 10:25