У меня была эта ошибка:
Не удалось найти версию средств сборки 23.0.2
blockquote>Когда вы обновили / установили:
- Android SDK Build Tools
- Android SDK Tools
Изменить номер версии в
build.gradle
FROM
buildToolsVersion "23.0.2"
TO
buildToolsVersion "25.0.2"
Есть ли способ получить ссылку на логическую переменную из std :: Vector?
blockquote>No.
Или любой другой решение?
blockquote>Вернуть
typename std::vector<T>::reference
вместоT&
. Дляbool
он вернет тип прокси-объекта вектора;Или специализируйте
A<bool>
, чтобы использовать что-то, кромеvector<bool>
.Или используйте какой-либо другой тип (возможно,
char
, или простой класс, обертывающийbool
) вместоbool
.
Вы нажимаете проклятие специализации поддельного контейнера.
Это подтвержденная ошибка дизайна, которую стандарт продолжает распространять, поэтому вам нужно специализировать свой шаблон, чтобы избежать стандартной специализации.
Используйте std::vector<mybool>
с struct mybool{bool value;};
или некоторые из них по вашей специализации (и проклинайте упрямый комитет за то, что он не ускоряет его и не отменяет их ошибку).
В качестве альтернативы просто верните std::vector<T>::reference
вместо T&
. (Воздерживаться, если это возможно, не размножайте эту бородавку) (Не забудьте проклятие)