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

Создание DLL - C++

Восстановить пароль Регистрация
 
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
24.11.2011, 01:03     Создание DLL #1
C++
1
const __int64 MathArray[3][2] = {{0, 1}, {2, 3}, {4, 5}};
Ошибок нет.

но в .h ругается!!
Миниатюры
Создание DLL  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2011, 01:03     Создание DLL
Посмотрите здесь:

Создание DLL в Borland C++ 3.1 C++
Создание dll C++
Создание resource-only DLL C++
создание DLL C++
C++ Создание DLL
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
24.11.2011, 03:03     Создание DLL #2
у вас на скриншоте, переменная объявлена статичной. это значит что должна быть доступна без создания экземпляра скласса и всем экземпларям класса если такие созданы. поэтому, инициализация статичных переменных должна быть выполнена на в области класса а в области файла.

Добавлено через 1 минуту
плюс еще должен добавить что инициализации вообще любых членов класса делается при помощи функция членов класса или конструктора, а не в момент их объявления
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
24.11.2011, 06:20     Создание DLL #3
Цитата Сообщение от greeezz Посмотреть сообщение
вообще любых членов класса делается при помощи функция членов класса или конструктора, а не в момент их объявления
Кроме static const членов, они инициализируются при объявлении.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
24.11.2011, 06:38     Создание DLL #4
Цитата Сообщение от Kastaneda Посмотреть сообщение
Кроме static const членов, они инициализируются при объявлении.
да, но разве области класса?
ZaVyLoN
 Аватар для ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
24.11.2011, 08:02  [ТС]     Создание DLL #5
Сделал так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// MyDll.h
 
namespace HomeWorkDll
{
    class MyHomeWorkDll
    {
    private:
        static __declspec(dllexport) __int64 MathArray[3][2];
           public:
        static __declspec(dllexport) void ShowMathArray();
//...
         
};
}
// MyDll.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// MyDll.cpp
namespace HomeWorkDll
{
    // Массив предопределённых констант типа __int64 размером 3*2 элемента
    __int64 MyHomeWorkDll::MathArray[3][2]  = {{0, 1}, {2, 3}, {4, 5}};
    
    void MyHomeWorkDll::ShowMathArray()
    {
        cout << "Массив предопределённых констант типа __int64 размером 3*2 элемента." << endl;
        for (int i = 0; i < 3; i++)
        {
            for(int j = 0; j < 2; j++)
            {
                cout << HomeWorkDll::MyHomeWorkDll::MathArray[i][j] << " ";
            }
            cout << endl;
        }
        cout << endl;
//...
 
    }
}
greeezz
24.11.2011, 08:36
  #6

Не по теме:

Цитата Сообщение от ZaVyLoN Посмотреть сообщение
Сделал так.
всегда пожалуйста

Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
25.11.2011, 07:15     Создание DLL #7
Цитата Сообщение от greeezz Посмотреть сообщение
да, но разве области класса?
Да
C++
1
2
3
4
class Foo
{
    static const n = 10;
}
это абсолютно правильный код.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2011, 17:22     Создание DLL
Еще ссылки по теме:

C++ Создание и использование dll
Dll. Создание и использование C++
Создание COM DLL C++

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

Или воспользуйтесь поиском по форуму:
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
25.11.2011, 17:22     Создание DLL #8
Цитата Сообщение от Kastaneda Посмотреть сообщение
Да
C++
1
2
3
4
class Foo
{
    static const n = 10;
}
это абсолютно правильный код.
насчет инициализации статичной константной переменной в классе вы правы. я немного ошибся. спасибо за корректировку.

но этот код как минимум не правильный потому что не указан тип переменной. например int.
Yandex
Объявления
25.11.2011, 17:22     Создание DLL
Ответ Создать тему
Опции темы

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