Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> конструктор по умолчанию для безымянной структуры 
V
    Опции темы
boostcoder
Дата 27.7.2011, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



подскажите плиз, как такое проделать?
Код

static const struct {
   void m1() {}
} common;

int main() {
}


http://liveworkspace.org/code/7b4065f1f890...0476ec524058c86

спасибо.

Добавлено через 1 минуту и 35 секунд
Up.

знаю что можно так:
Код

static const struct _common {
   _common() {}
   void m1() {}
} common;



другие варианты есть?
PM WWW   Вверх
azesmcar
Дата 27.7.2011, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



никак, а зачем это нужно? почему бы не назвать его как нибудь?

Добавлено через 1 минуту и 31 секунду
если это агрегат, то можно инициализировать и без конструктора.
вот так:
Код

static const struct {
   int x;
   int y;
} common = {0, 1};

PM   Вверх
boostcoder
Дата 27.7.2011, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



сразу еще один вопрос.
как инициализировать статический константный член у такой структуры?
Код

static const _common struct {
   _common() {}

private:
   static const std::vector<std::string> strs;

public:
   static const std::vector<std::string>& m1() {
      return strs;
   }
} common;

std::vector<std::string> _common::strs = {"", ""};


http://liveworkspace.org/code/81485e447a6d...dfe235f7234c064

Добавлено через 2 минуты и 3 секунды
Цитата(azesmcar @  27.7.2011,  15:00 Найти цитируемый пост)
а зачем это нужно?

я хочу в ней хранить константы.


Цитата(azesmcar @  27.7.2011,  15:00 Найти цитируемый пост)
если это агрегат, то можно инициализировать и без конструктора.
вот так:

о! то что нужно!
спасибо.

Добавлено через 6 минут и 1 секунду
эм.. еще вопрос.
на этот код:
Код

static const struct {
   static const std::vector<std::string> strs;
} common = {
   {"", ""}
};


говорит такое:
Цитата

error: too many initializers for 'const<anonymous struct>'

автоматическое преобразование не происходит?
PM WWW   Вверх
azesmcar
Дата 27.7.2011, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(boostcoder @  27.7.2011,  15:01 Найти цитируемый пост)
говорит такое:

вообще-то это не агрегат, но если компилятор с поддержкой C++0x то пойдет. А ошибку выдает потому, что член класса статический.
Вот так должно сработать.
Код

static const struct {
   const std::vector<std::string> strs;
} common = {
   {"a", "b"}
};

PM   Вверх
mes
Дата 27.7.2011, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  27.7.2011,  14:01 Найти цитируемый пост)
.. еще вопрос.
на этот код:

так структура у вас и так статическая, зачем в ней еще статический член ?


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 27.7.2011, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



azesmcar, mes, да-да. из-за статического члена. спасибо.

PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0511 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.