Код: Выделить всё
struct S {};
void foo(volatile S&);
void foo(S);
int main() {
volatile S v;
foo(v);
}
Мы можем доказать это только 1-й кандидат может принять v, если мы закомментируем одного из кандидатов (и в этом случае составители согласятся):
- Если мы сохраним только 1-й, код компилируется.
- Если оставить только 2-й, то получим ошибку (не имеет копировщика. из изменчивого S&).
Код: Выделить всё
S
Подробнее здесь: https://stackoverflow.com/questions/785 ... d-volatile
Мобильная версия