Суббота, 20 Апреля 2024, 09:57

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Указатели. Массив.
Указатели. Массив.
AlcatrazДата: Четверг, 25 Июля 2013, 20:54 | Сообщение # 1
Unity3D Game Developer
Сейчас нет на сайте
Привет всем.

Указатели. Массив указателей функций.
В общем такая трабла:

Опишу проблему наглядным примером:

Есть к примеру прототип функции:

Код

#include "stdafx.h"
#include <iostream>
#include <clocale>

using namespace std;

int Function(int);
int Fun(int);     

int Function(int i){

     return i*i;
}

int Fun(int b){
     return b*b;
}

int (*func)(int);


Затем идет дальнейший код: массив указателей на функции.

Код

int main (int argc, char *argv[]) {

     setlocale(LC_ALL, "rus");

         
     func _box[] = {&Function, &Fun};

     cout << _box[0](5) << "\n" << endl;

     system("pause");

     return 0;

}


Ошибка с инициализацией _box[].
Eсли же использовать не массив

Код

int (*func)(int);
func = &Function;


То всё нормально. Код вроде верный, где ошибка? Заранее благодарен.

Цитата
Ошибка:
1 IntelliSense: требуется точка с запятой ";"


; - везде стоят, где надо..


Flight Dream Studio.
Unity Game Designer.


Сообщение отредактировал Alcatraz - Четверг, 25 Июля 2013, 21:00
НохчиДата: Четверг, 25 Июля 2013, 21:08 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Цитата (Alcatraz)
int (*func)(int);

-->
Цитата
typedef int (*func)(int);


Многие вопросы по Windows отпадут, если посмотреть тут

Сообщение отредактировал Нохчи - Четверг, 25 Июля 2013, 21:09
falcowareДата: Четверг, 25 Июля 2013, 21:14 | Сообщение # 3
старожил
Сейчас нет на сайте
Alcatraz, я думаю _box[] не может быть безразмерным. Поставьте 2 в скобках.
AlcatrazДата: Четверг, 25 Июля 2013, 21:16 | Сообщение # 4
Unity3D Game Developer
Сейчас нет на сайте
Нохчи, ах черт.. Спасибо большое!

Flight Dream Studio.
Unity Game Designer.
falcowareДата: Четверг, 25 Июля 2013, 21:18 | Сообщение # 5
старожил
Сейчас нет на сайте
Нохчи, ты прав. Откомпилилось.
AlcatrazДата: Четверг, 25 Июля 2013, 21:20 | Сообщение # 6
Unity3D Game Developer
Сейчас нет на сайте
falcoware, в С++ если при объявлении не инициализировать массив, то надо указывать, если сразу инициализация, то размер сам задается.

Flight Dream Studio.
Unity Game Designer.
Форум игроделов » Программирование » C/C++ » Указатели. Массив.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг