Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
#1

Массивы указателей в классе. - C++

06.11.2011, 22:57. Просмотров 532. Ответов 5
Метки нет (Все метки)

Приветствую. Подскажите пожалуйста, как объявить и инициализировать массив указателей в классе.
Пишу например вот так
C++
1
bool (*arrHand[ 6 ]) ( const int [ dealSize ][ dealSize ] ) = { straightOnHand, };
Имя функции подчеркивается красной волнистой линией в 2010 студии с ошибкой: значение типа "bool (DeckOfCards::*) ( const int (*arr)[5U] )" нельзя использовать для инициализации сущности типа "bool (*) ( const int (*)[5U] )".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 22:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы указателей в классе. (C++):

Создание массивов указателей на массивы указателей - C++
Помогите в решении задачи: создал массив указателей на массивы указателей на строки, но компилятор ругается на то что не может...

Инициализация массива указателей в классе - C++
Доброго времени суток. Столкнулся с проблемой, не могу инициализировать массив указателей в классе: class cards { ...

Массив указателей на функцию в классе - C++
Доброго всем времени суток.Пожалуйста помогите разобраться. #include <stdlib.h> #include "iostream" using namespace std; ...

Работа с массивом указателей в классе - C++
Здравствуйте! Суть задания написать телефонную книгу. Существуют два класса. Первый хранит данные контакта, а через второй идет работа с...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append("мамa"); ...

5
Bers
Заблокирован
06.11.2011, 23:07 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 
   class CTest
    {
    public: CTest() 
            { 
                /*здесь идет настройка уже созданного массива*/ 
                memset(myTest, 0, sizeof(myTest) );
            }
        int* myTest[10][10];
    };
 
 
    CTest te;
0
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
06.11.2011, 23:20  [ТС] #3
Все равно подчеркивается красной линией с той же ошибкой, и соответственно не компилируется.

Добавлено через 8 минут
Ой извиняюсь, забыл совсем, вылетело из головы, массив указателей на функции.
0
Bers
Заблокирован
06.11.2011, 23:32 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   
 class CTest
    {
        //объявим, что ptrFunc - это указатель на функцию
        typedef void (*ptrFunc)(); 
    public: CTest() 
            { 
                /*здесь идет настройка уже созданного массива*/ 
                memset(myArray, 0, sizeof(myArray) );
            }
            ptrFunc myArray[10]; //объявим массив из десяти указателей на функцию
    };
 
 
    CTest te;
1
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
06.11.2011, 23:39  [ТС] #5
Ясно, спасибо, видать рано еще мне до этого. Просто в книги массив указателей на функции объявлялся так как выше написал, но это было в main а не в классе. Думал в классах так же.
0
Bers
Заблокирован
06.11.2011, 23:49 #6
можно и так записать:

C++
1
2
3
4
5
6
7
8
9
class CTest
    {
    public: CTest() 
            { 
                /*здесь идет настройка уже созданного массива*/ 
                memset(myArray, 0, sizeof(myArray) );
            }
            void (*myArray[10])() ; //объявим массив из десяти указателей на функцию
    };
Но вариант с typedef намного приятнее и легче читается.
А вообще, вы конечно правильно делаете, что учите эту муштру. Но по жизни старайтесь не использовать указатели на функции. Вместо этого в с++ есть другие более простые и элегантные способы, как сделать тоже самое, только проще и эффективнее.
1
06.11.2011, 23:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2011, 23:49
Привет! Вот еще темы с ответами:

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append("мамa"); ...

Массивы указателей - C++
#include "stdafx.h" #include "stdlib.h" #include "locale.h" #include "stdio.h" void p1(float &); void p2(float &); void...

Массивы указателей - C++
Дан код: const int Width = 3; const int Height = 5; char arr2 = { "1str", "2str", "3str"}; char(*x) = arr2; ...

Иерархия классов: массивы указателей - C++
Добрый день или ночь. Создаю иерархию и возник вопрос: можно ли сделать так, как я сделал?) есть 6 классов один из них абстрактный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru