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

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

Войти
Регистрация
Восстановить пароль
 
ciao
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 28
#1

проблемма с классами - C++

24.07.2009, 20:55. Просмотров 394. Ответов 0
Метки нет (Все метки)

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class interface
{
public:
void binaire(int,std::vector <double> &Y,std::vector <double> &F,std::vector <double> &concentration);
 
Хочу в функции "Jacobian_binaire" опредилить ссылку или как это на функцию "void binaire"
void Jacobian_binaire(std::vector <double> &Y,std::vector <double> &F,std::vector < std::vector<double> > &Jacobian2D,std::vector <double> &concentration,void(*nrfunc)(int,std::vector <double> &Y,std::vector <double> &F,std::vector <double> &concentration));
}
 
В маин
 
   int i = 1;
        while(mat.produit[i]!=NULL)
         {
      nt.func     =mat.produit[1]->frontiere[1]; 
      nt.nrfuncv  =&interface::binaire;//We transfer the reference to a class method interface
 
      nt.jacobian =mat.produit[1]->frontiere[1];
      nt.jacobfunc=&interface::Jacobian_binaire;//We transfer the reference to a class method interface
         i++;
         }
 
 
В Ньютоне -Рафсона нужно вызвать эту функцию:
 
class newt
{
 
public:
 
  interface *func;
  interface *jacobian;
  //we declare index type:
  void (interface::*nrfuncv)(int nn, std::vector <double> &v, std::vector <double> &f,std::vector <double> &concentration);
  void (interface::*jacobfunc)(std::vector <double> &v, std::vector <double> &f1, std::vector < std::vector<double> > &J,std::vector <double> &concentration,void(interface::*nrfuncv)(int,std::vector <double> &Y,std::vector <double> &F,std::vector <double> &concentration));
 
  newt() //Konstruktor
  {
  func = NULL;
  jacobian = NULL;
  }
 
void calc(std::vector <double> &x, int *check,std::vector <double> &concentration);
}
 
 
void newt::calc(std::vector <double> &x, int *check,std::vector <double> &concentration)
{
 
(jacobian->*jacobfunc)(x,fvec1,J,concentration,(func->*nrfuncv)(GetN(), x, fvec,concentration));
не работает
 
}
Добавлено через 36 секунд
C++
1
 error: cannot convert ‘void (interface::*)(std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&, std::vector<double, std::allocator<double> >&, void (*)(int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&))’ to ‘void (interface::*)(std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&, std::vector<double, std::allocator<double> >&, void (interface::*)(int, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&))’ in assignment
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2009, 20:55     проблемма с классами
Посмотрите здесь:

Проблемма с кодом C++
Проблемма с логическим оператором if C++
Проблемма с компиляцией в Visual C++ 2010 C++
Надоедливая проблемма с допуском к базе данных на удаленном компе... C++
Проблемма с вложенными классами C++
Visual Studio 2010 и 2012. Проблемма после установки 12 C++
Проблемма при компиляции функции (Linker error) C++
Проблемма с заполнением динамического двумерного массива C++
C++ Проблемма при работе с массивами структур
C++ Проблемма с функцией,подскажите что не так
Работа с классами C++
Как создать объект класса? ПРоблемма из-за раздельной компиляции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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