powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как задать начальные значения для элементов структуры, погруженной в пр-во имен?
5 сообщений из 5, страница 1 из 1
Как задать начальные значения для элементов структуры, погруженной в пр-во имен?
    #38091803
GermanV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть файл GlobalVariable.h:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
namespace GlobalVariable
{
	struct StatusBar
	{
		std::wstring MyString;
		float Summa;
	}; 
	
	extern StatusBar MyStatusBar;

}



Есть файл GlobalVariable.cpp:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#include "stdafx.h"
#include "GlobalVariable.h"

namespace GlobalVariable
{
	struct StatusBar MyStatusBar;

	MyStatusBar.MyString = L"Ура!";
	MyStatusBar.Summa = 19.5f;

}



На последних двух строчках (где устанавливаются начальные значения) ругается:
IntelliSense: это объявление не содержит класс хранения или спецификатор типа
error C2371: GlobalVariable::MyStatusBar: переопределение; различные базовые типы

Как сделать?
...
Рейтинг: 0 / 0
Как задать начальные значения для элементов структуры, погруженной в пр-во имен?
    #38091825
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GermanV,

Для начала стоит осознать, что присвоение это оператор, который как и все операторы должен быть внутри тела какой-нибудь функции.

А в вашем случае подходит инициализация.

Код: plaintext
1.
struct StatusBar MyStatusBar = {  L"Ура!", 19.5f};
...
Рейтинг: 0 / 0
Как задать начальные значения для элементов структуры, погруженной в пр-во имен?
    #38091839
GermanV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly MoskovskyGermanV,

Для начала стоит осознать, что присвоение это оператор, который как и все операторы должен быть внутри тела какой-нибудь функции.

А в вашем случае подходит инициализация.

Код: plaintext
1.
struct StatusBar MyStatusBar = {  L"Ура!", 19.5f};



Спасибо! Работает!
...
Рейтинг: 0 / 0
Как задать начальные значения для элементов структуры, погруженной в пр-во имен?
    #38091849
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужно именно отдельными присвоениями, то есть прием - поместить код в тело конструктора статического объекта, тут же объявленного.
Код: plaintext
1.
2.
3.
4.
5.
6.
struct StatusBar MyStatusBar;

static struct MyStatusBar_init { MyStatusBar_init() {
	MyStatusBar.MyString = L"Ура!";
	MyStatusBar.Summa = 19.5f;
}} MyStatusBar_init;
...
Рейтинг: 0 / 0
Как задать начальные значения для элементов структуры, погруженной в пр-во имен?
    #38092598
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GermanV,

это можно сделать только в коде, а у тебя нет кода, ты делаешь это просто в глобальном скопе, там к может быть кода.

Тебе нужно использовать программаторы, но тут они могут работать только в новейшем компиляторе.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как задать начальные значения для элементов структуры, погруженной в пр-во имен?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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