powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / static class, беда
4 сообщений из 4, страница 1 из 1
static class, беда
    #38224715
kirieiev_1981
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу создать static class, в котором будет находится static переменная, чтобы она была доступна из разных классов.

helper.h
Код: plaintext
1.
2.
3.
4.
5.
static class Helper
{
    public:
        static int globus;
};




В другом классе пишу так:
Код: plaintext
1.
2.
3.
4.
5.
Helper.globus=10;
 
    CString str1; 
    str1.Format("%i", Helper.globus);
    AfxMessageBox (str1);




И в итоге:

1 warning C4091: "static ': ignored on left of "Helper" when no variable is declared
2 error C2143: syntax error: missing ";" before '.'
3 error C2143: syntax error: missing ";" before '.'
4 warning C4832: token '.' is illegal after UDT 'Helper'
5 error C2275: 'Helper': illegal use of this type as an expression
6 error C2228: left of '.globus' must have class/struct/union
7 warning C4627: '#include "Helper.h"': skipped when looking for precompiled header use
8 error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

Что не так?
...
Рейтинг: 0 / 0
static class, беда
    #38224718
Helper::globus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kirieiev_1981Хочу создать static class, в котором будет находится static переменная, чтобы она была доступна из разных классов.

helper.h
Код: plaintext
1.
2.
3.
4.
5.
class Helper
{
    public:
        static int globus;
};




В другом классе пишу так:
Код: plaintext
1.
2.
3.
4.
5.
Helper::globus=10;
 
    CString str1; 
    str1.Format("%i", Helper::globus);
    AfxMessageBox (str1);




И в итоге:

1 warning C4091: "static ': ignored on left of "Helper" when no variable is declared
2 error C2143: syntax error: missing ";" before '.'
3 error C2143: syntax error: missing ";" before '.'
4 warning C4832: token '.' is illegal after UDT 'Helper'
5 error C2275: 'Helper': illegal use of this type as an expression
6 error C2228: left of '.globus' must have class/struct/union
7 warning C4627: '#include "Helper.h"': skipped when looking for precompiled header use
8 error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

Что не так?
...
Рейтинг: 0 / 0
static class, беда
    #38224738
Фотография tehKosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плохо делаете
лучше не напрямую использовать такие классы-хелперы в других классах, а конфигурировать ими при создании прикладных классов через параметры конструкторов
...
Рейтинг: 0 / 0
static class, беда
    #38224894
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kirieiev_1981,

Это тебе не Java, в С++ НЕТ статических классов.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / static class, беда
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]