Форум программистов, компьютерный форум CyberForum.ru

Указатель на фунцкию-член - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод аргумента в промежуток http://www.cyberforum.ru/cpp-beginners/thread1607333.html
Привет всем. Написал программу, которая сравнивает значения сумм рядов со стандартными функциями cos(x) и sin(x). Вот код: #include <iostream> #include <iomanip> #include <cmath> using namespace std; double factorial(int k){ int i = 1;
C++ Фоновая запись в файл Добрый день. Задача такая, фоново без блокировки основного потока, записать в файл 1000000 раз что-нибудь, во время записи, пользователь должен спокойной пользоваться программой без проблем, по окончанию записи в файл, сообщить об этом. Я использовал библиотеку POCO т.к. требуется кроссплатформенность, однако она мне не дала нужного функционала, или я просто не знаю как это сделать. //... http://www.cyberforum.ru/cpp-beginners/thread1607309.html
Нюансы синтаксиса: какая разница между названием заголовочного файла в угловых скобках и в кавычках? C++
Какая разница между: #include <windows.h> и #include "windows.h"
C++ C++, реализовать декартово дерево
Есть код. Но у меня дерево формируется по набору ключей, при этом из него ничего нельзя удалить. (Да и кроме того, дерево должно кроме ключей хранить полезные данные). Но все равно формат данных не тот. Нужно реализовать декартово дерево с условиями: В программе должна присутствовать реализация операций вставки, поиска, удаления, получения минимального и максимального элементов и...
C++ Char и указатель на переменную http://www.cyberforum.ru/cpp-beginners/thread1607255.html
void silavetra(pogoda *arr, int size) { int max=arr.sila_vetra; char ind_napravlenie = *arr.n_vetra; char ind_gorod = *arr.gorod; for(int i=0; i<size; i++) { if(arr.sila_vetra>max) { max=arr.sila_vetra;
C++ Общий сервисный объект Добрый день! Надо сделать перевод всех фраз (диагностических и вообще) в программе на язык пользователя. Поскольку будет задействован большой файл с переводом и хэш-таблица для быстрого поиска, очень удобно все это оформить как класс. Проект состоит из нескольких файлов. Файл .h класса доступен отовсюду. Почти все остальные классы могут выводить какую-нибудь надпись, которую надо перевести. Т.е.... подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
09.12.2015, 13:53     Указатель на фунцкию-член
Цитата Сообщение от Apparat_UA Посмотреть сообщение
В чем проблема ?
В том, что указатель на функцию-член должен быть вызван для объекта, а в твоем случае ты просто получаешь доступ к нестатическом члену данных side, и пытаешься вызвать без объекта.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
class Letter
{
public:
    void(Letter::*side[6])();
 
    Letter() 
    { 
        side[0] = &Letter::front;
        side[1] = &Letter::right_flang;
        side[2] = &Letter::top;
        side[3] = &Letter::bottom;
        side[4] = &Letter::left_flang;
        side[5] = &Letter::back;
    }
        void front() { std::cout << "front\n"; }
        void right_flang() { std::cout << "right_flang\n"; }
        void top() { std::cout << "top\n"; }
        void bottom() { std::cout << "bottom\n"; }
        void left_flang() { std::cout << "left_flang\n"; }
        void back() { std::cout << "back\n"; }
};
 
int main()
{
   Letter M;
   for(int i = 0; i < 6; i++)
       (M.*(M.side[i]))();
}
 
Текущее время: 19:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru