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

Импорт из dll перегруженных операторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Связанный список http://www.cyberforum.ru/cpp-beginners/thread368151.html
Доброе утро есть ли у кого пример Связанного списка. И чем он вообще отличаетьсяот массива кроме того , что связанный список динамичен.
C++ Целесообразность использования цикла. Этот момент в универе нам не объясняли. Хочу сразу сказать, я знаю зачем, как и когда используются циклы. Собственно возник не большой спор. Какое преимущество будет иметь код for (int i = 0; i <... http://www.cyberforum.ru/cpp-beginners/thread368107.html
C++ Среди чисел а, b, с есть хотя бы одна пара взаимно противоположных.
Запишите логическое выражение, принимающее значение true, если указанное выше высказывание является истинным, и false – в противном случае.
Развлетвляющиеся алгоритмы C++
Пожалуйсто помогите чтото не получается решить, выводит всё время один и тотже результат не заввисемо от данных каторые вводишь.Задание на картинке. #include <conio.h> #include <stdio.h> #include...
C++ Получить квадратную матрицу порядка n http://www.cyberforum.ru/cpp-beginners/thread368103.html
17) Получить квадратную матрицу порядка n 1 2 3 ... n-1 n 2 1 2 ... n-2 n-1 3 2 1 ... n-3 n-2 . . . . . . n-1 n-2 n-3 ... 1 2 n n-1 n-2 ... 2 1
C++ вычисления указанной величины может кто поможет???ато не понимаю почему несчитает вродебы всё просто а ответ не выходит. Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.пример... подробнее

Показать сообщение отдельно
Taurendil
0 / 0 / 0
Регистрация: 20.09.2010
Сообщений: 7

Импорт из dll перегруженных операторов - C++

18.10.2011, 09:54. Просмотров 849. Ответов 9
Метки (Все метки)

Здравствуйте, уважаемые программисты!

По заданию необходимо при явном подключении dll импортировать класс. С обычными методами все понятно, делаю так:

C++
1
2
3
4
5
6
7
8
9
10
11
class cFloatMatr
{
public:
......
    bool (*isKvadr)();
......
}
------------------------------------
cFloatMatr matr;
    matr.isKvadr=(bool (*) ())GetProcAddress(h,"isKvadr");
    bool a = matr.isKvadr();
А как быть с операторами? Также естественно нельзя:
C++
1
cFloatMatr (*operator+)(const cFloatMatr &B);
Пытался в самом методе загружать оператор из dll:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class cFloatMatr
{
public:
......
    cFloatMatr operator+(const cFloatMatr &B)
    {
        //загружаем dll
        HINSTANCE h=LoadLibrary("matr.dll");
        if(!h) //Если DLL не загрузилась 
            return *this;
 
        typedef cFloatMatr (*TFunc)(void *, const cFloatMatr);
        TFunc func = (TFunc)GetProcAddress(h,"@TMyClass@exportfun$qqrii");
 
        return func(this, B);
           }
......
}
Но получил ошибки:

C++
1
2
3
4
error C2664: cFloatMatr (void *,const cFloatMatr): невозможно преобразовать параметр 2 из "const cFloatMatr" в "const cFloatMatr"
1>          Не удается копировать конструкцию class "cFloatMatr", так как конструкторы копий неоднозначны или отсутствуют
1>c:\projects\dll_matr\test_d\test\matr.h(81): error C2664: cFloatMatr (void *,const cFloatMatr): невозможно преобразовать параметр 1 из "const cFloatMatr" в "void *"
1>          Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен
Вопрос, как можно импортировать operator'ы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru