Вы можете использовать
decltype(gquiz)::container_type
Действительно, если x::y
означает эквивалент decltype(x)::y
, когда x
не является типом, может показаться проще, и я тоже (и держу пари, много других) тоже думал. Однако это не в стандарте, и причина в том, что ... потому что это не в стандарте, поэтому не работает.
Не каждое решение в C ++ имеет логическое обоснование, может быть это конкретное c одно имеет логическую причину, но я не могу ее придумать.
Может быть, просто нет причины.
С C ++ бывает. Много.