Невозможно загрузить устройство, потому что оно не может быть расположено на диске

Я бы утвердил ошибку в g ++, потому что, цитируя draft N3242 , §12.2 / 5:

Второй контекст - это когда ссылка привязана к временный. Временное, к которому привязана ссылка, или временное, являющееся полным объектом подобъекта, к которому привязана ссылка, сохраняется для времени жизни ссылки, за исключением:

. Таким образом, его время жизни должно быть расширенный, за исключением случаев, когда:

Временная привязка к ссылочному элементу в ctor-initializer конструктора [..]

Временная привязка к эталонному параметру в вызове функции [..]

Время жизни временной привязки к возвращаемому значению в операторе return функции [..]

Временная привязка к ссылке в new-initializer [. .]

Наш случай не соответствует ни одному из этих исключений, поэтому он должен следовать правилу. Я бы сказал, что g ++ здесь не так.

Затем, в отношении котировки aschepler, поднятой из того же проекта §8.5.3 / 5 (выделение мое):

A ссылка на тип « cv1 T1» инициализируется выражением типа « cv2 T2» следующим образом:

  1. Если ссылка является ссылкой на lvalue и выражением инициализатора a. является lvalue (но не является битовым полем), а « cv1 T1» является ссылочным-совместимым с « cv2 T2» или b. имеет тип класса ... тогда ...
  2. В противном случае ссылка должна быть ссылкой lvalue на нелетучий тип const (то есть cv1 должна быть const ), или ссылка должна быть ссылкой rvalue. а. Если выражение инициализатора i. является значением xvalue, классом prvalue, значением prvalue или значением функции lvalue и " cv1 T1" является ссылочным-совместимым с " cv2 T2" или ii. имеет тип класса ... тогда ссылка привязана к значению выражения инициализатора в первом случае .... b. В противном случае временный тип « cv1 T1» создается и инициализируется из выражения инициализатора, используя правила для неосновной копии-инициализации (8.5). Ссылка затем привязана к временному.

Глядя на то, что такое xvalue, на этот раз ссылаясь на http://en.cppreference.com/w/cpp / language / value_category ...

Выражение xvalue ("expying value") [..]

a.m, член объекта выражение, где a - значение r, а m - нестатический элемент данных не ссылочного типа;

... выражение center().x должно быть значением x, поэтому случай 2a из Применяется §8.5.3 / 5 (а не копия). Я останусь с моим предложением: g ++ ошибается.

29
задан Dale Burrell 23 January 2019 в 02:14
поделиться

1 ответ

Вы, возможно, удалили папку устройств. Для решения этой проблемы делают следующее.

- Открывают Terminal и запись xcrun simctl erase all

0
ответ дан 7 November 2019 в 12:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: