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

Expression must be a modifiable lvalue - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.63
kalio
Сообщений: n/a
16.09.2011, 15:06     Expression must be a modifiable lvalue #1
Добрый день, прошу помощи. При компиляции ругается на
(18): error C2276: '&' : illegal operation on bound member function expression
(19): error C2436: 'p' : member function or nested class in constructor initializer list
(20): error C2436: 'p' : member function or nested class in constructor initializer list
В результате хочу при инициализации класса передать указатель на функцию для использования в методах
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
#include "math.h"
#include "fstream"
using namespace std;
typedef double *ptr_func(double);
void main(){
}
 
class integrate{
    private:
        double h,square,a,b;
        int i;
        char * path;
        double function(double x);
        ptr_func p;
        void out();
    public:
        integrate() : h(0.01){};
        integrate(double h_init) : h(h_init){p=&function;};
        integrate(double h_init,ptr_func func_init) : h(h_init),p(func_init){};
        integrate(double h_init,ptr_func func_init,char* str_init) : h(h_init),p(func_init)
                {path=(char*) malloc (sizeof(str_init));
                memcpy(path,str_init,sizeof(str_init));
                };
        double rectangle();
        double trapeze();
        double simpson();
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2011, 15:06     Expression must be a modifiable lvalue
Посмотрите здесь:

Ощибка error: non-lvalue in assignment C++
C++ Lvalue required
Ошибка Lvalue required C++
C++ Ошибка E2277 Lvalue required
C++ Ошибка lvalue required
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LosAngeles
Заблокирован
16.09.2011, 15:08     Expression must be a modifiable lvalue #2
ты в указатель на функцию пытаешься запихнуть указатель на метод
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
16.09.2011, 15:08     Expression must be a modifiable lvalue #3
p=&function
а это вобще что?
LosAngeles
Заблокирован
16.09.2011, 15:14     Expression must be a modifiable lvalue #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class integrate{
    typedef double (integrate::*ptr_func)(double x);
        private:
                double h,square,a,b;
                int i;
                char * path;
                double function(double x);
                ptr_func p;
                void out();
        public:
                integrate() : h(0.01){};
                integrate(double h_init) : h(h_init){p=&function;};
                integrate(double h_init,ptr_func func_init) : h(h_init),p(func_init){};
                integrate(double h_init,ptr_func func_init,char* str_init) : h(h_init),p(func_init)
                                {path=(char*) malloc (sizeof(str_init));
                                memcpy(path,str_init,sizeof(str_init));
                                };
                double rectangle();
                double trapeze();
                double simpson();
};
Yandex
Объявления
16.09.2011, 15:14     Expression must be a modifiable lvalue
Ответ Создать тему
Опции темы

Текущее время: 02:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru