пусто, ПУСТО, C и C++

Если ContextAttributeIdentity является членом какого-либо другого объекта, вы можете аннотировать его с помощью @JsonUnwrapped, например:

public class SomeClass {
    @JsonUnwrapped
    private ContextAttributeIdentity contextAttributeIdentity;
}
12
задан Jonathan Leffler 13 February 2009 в 05:31
поделиться

3 ответа

Да, насколько я знаю, что второе объявление недопустимо в C++ и C89, но это допустимо в C99.

Из проекта C99, TC2 (6.7.5.3/10):

Особый случай параметра без имени типа освобождает как единственный объект в списке specifies, что функция не имеет никаких параметров.

Это явно говорит о типе "пусто", не ключевом слове.

Из стандарта C++, 8.3.5/2:

Если пункт объявления параметра пуст, функция не берет аргументов. Список параметров (void) эквивалентно пустому списку параметров.

То, что это означает, что фактическое ключевое слово с "пустотой" а не общий тип "пусто" может также быть замечено от одного из случаев, где вычет аргумента шаблона перестал работать (14.8.2/2):

  • Попытка создать функциональный тип, в котором параметр имеет тип пустоты.

Это поместило ясный другими, известными в одном отчете о проблеме базового языка здесь и некотором GCC bugreports связанный с другими ответами.


Напомним, Ваш GCC является правильным, но более ранние версии GCC были неверны. Таким образом тот код, возможно, был успешно скомпилирован с ним ранее. Необходимо исправить код, так, чтобы он использовал "пусто" для обеих функций, затем он скомпилирует также с другими компиляторами (comeau, также отклоняет второе объявление с той "ПУСТОТОЙ").

17
ответ дан 2 December 2019 в 04:25
поделиться

ошибки gcc.Править: так как не было достаточно ясно, что я имел в виду, был gcc 4.3.2, компилировал его из-за ошибок. Посмотрите № 32364 и № 9278.

17
ответ дан 2 December 2019 в 04:25
поделиться

Я просто поместил Ваш код в .cpp файл, и он скомпилировал без проблем в VS2005, SUSE, Redhat и Солярисе, таким образом, я предполагаю, Ваша определенная gcc версия не одобряет это. Галлон

0
ответ дан 2 December 2019 в 04:25
поделиться