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

Указатель на метод класса в качестве аргумента метода класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка c char в классе http://www.cyberforum.ru/cpp/thread1399730.html
Когда ввожу даные в второй char выдает ошибку, когда делаю, не в класе, а в int main() все работает, что делать? #include<iostream> #include<conio.h> #include<ctime> #include<cstring> using namespace std; class slov { public: char* mas;
C++ Подсветка символа в edit Мне нужен компонент, который смог бы поддерживать подсветку символа, так например в клавиатурном тренажере при неправильном нажатии клавиши буква в тексте выделяется красным цветом. Ну или как это можно реализовать в эдите или лейбле? http://www.cyberforum.ru/cpp/thread1399613.html
C++ Eigen - инициализация константной комлексной матрицы
Здравствуйте. Хочу в программе использовать комлексную матрицу, значения которой были бы известны на этапе компиляции. Прикинул два варианта: #include <iostream> #include <Eigen/Dense> using namespace Eigen; using namespace std; int main()
C++ .elf и для чего они нужны
Собственно сабж Почитал Вики, как-то для новичка не очень много прояснилось И объясните еще пожалуйста разницу с ехе
C++ Union, new placement, strict-aliasing, cross-platform http://www.cyberforum.ru/cpp/thread1398521.html
Доброго времени суток. Ниже представленный код вроде бы работает. Гонял его на компиляторах cl/mingw http://rextester.com/OGKQ63240 //Title of this code //g++ 4.8.2
C++ Есть ли исходники SpyEye в открытом доступе? Здравствуйте, форумчане! Можно ли уже спустя 2-3 года найти творение Gribodemon'a с названием SpyEye в открытом доступе? Есть желание покопаться в исходниках, поучиться программировать. подробнее

Показать сообщение отдельно
_Ryuzaki13_
1 / 1 / 1
Регистрация: 20.03.2015
Сообщений: 12
20.03.2015, 18:41  [ТС]     Указатель на метод класса в качестве аргумента метода класса
Цитата Сообщение от rao Посмотреть сообщение
Непонятно каким боком _world затесался в функцию-параметр? Что она там делает?
Ну да ладно. Попробуй через интерфейс:


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
struct iFactory
{
* * virtual theABC* CreateSomething(int a, int b);
};
class CMaster
{
private:
* * theABC* _ptrStruct;
public:
* * VOID Create( iFactory * pCreator )
* * {
* * * * _ptrStruct = pCreator->CreateSomething(2,5);
* * }
};
class CSlave: public iFactory
{
* * CMaster _two;
theABC* CreateSomething( int a, int b )
* * {
* * * * return new theABC;
* * }
* * VOID Load()
* * {
* * * * _two.Create( this );
* * }
};
В конечном итоге он мне выдаёт ошибку о неразрешённых внешних символов.


C++
1
2
3
4
5
struct iBox2DCreate
{
    virtual b2Body* _addCircle( float x, float y, float r, bool dyn = true );
    virtual b2Body* _addRect( float x, float y, float w, float h, bool dyn = true );
};
Метод класса
C++
1
2
3
4
5
6
7
public:
WGS_API VOID Create( wgGraphicsDX11Ptr _gdx11, iBox2DCreate* _addToWorld )
{
...
_bodySmall = _addToWorld->_addCircle( 0.0f, 0.0f, 2.0f, true );
... 
}

Методы _addCircle и _addRect реализованы в основном классе (public), ": public iBox2DCreate" естественно не пропустил.

error LNK2001: неразрешенный внешний символ ""public: virtual class b2Body * __cdecl WGS::iBox2DCreate::_addCircle(float,float,float,bool)" (?_addCircle@iBox2DCreate@WGS@@UEAAPEAVb2Body@@MMM_N@Z)"
 
Текущее время: 18:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru