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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Связанный список http://www.cyberforum.ru/cpp-beginners/thread368151.html
Доброе утро есть ли у кого пример Связанного списка. И чем он вообще отличаетьсяот массива кроме того , что связанный список динамичен.
C++ Целесообразность использования цикла. Этот момент в универе нам не объясняли. Хочу сразу сказать, я знаю зачем, как и когда используются циклы. Собственно возник не большой спор. Какое преимущество будет иметь код for (int i = 0; i < 10; ++i) <действие> перед просто десятью строками типа <действие> <действие> <действие> <действие>? http://www.cyberforum.ru/cpp-beginners/thread368107.html
C++ Среди чисел а, b, с есть хотя бы одна пара взаимно противоположных.
Запишите логическое выражение, принимающее значение true, если указанное выше высказывание является истинным, и false – в противном случае.
Развлетвляющиеся алгоритмы C++
Пожалуйсто помогите чтото не получается решить, выводит всё время один и тотже результат не заввисемо от данных каторые вводишь.Задание на картинке. #include <conio.h> #include <stdio.h> #include <math.h> void main() { double m, r, x, rez; puts("vvedite r, m"); scanf("%lf%lf",&r, &m); if ( r <= m < 2*r)
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++ вычисления указанной величины может кто поможет???ато не понимаю почему несчитает вродебы всё просто а ответ не выходит. Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.пример на картинке.(3.25*10 в степени -4 ето типа 0.000325 или 3.25е-4) вот что я навояжил #include <stdio.h> #include <conio.h> #include <math.h> int main() { double x, y, z, a, b ,c, d, rez;... подробнее

Показать сообщение отдельно
Taurendil
0 / 0 / 0
Регистрация: 20.09.2010
Сообщений: 7
18.10.2011, 09:54     Импорт из dll перегруженных операторов
Здравствуйте, уважаемые программисты!

По заданию необходимо при явном подключении 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'ы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru