при решении теста на http://cppquiz.org я нашел этот интересный кусок кода:Является ли эта короткая программа легальной C++?
#include <iostream>
int f(int& a, int& b) {
a = 3;
b = 4;
return a + b;
}
int main() {
int a = 1;
int b = 2;
int c = f(a, a);// note a,a
std::cout << a << b << c;
}
Мой вопрос заключается в этой программе правовой C++ или оно не? Я обеспокоен строгим псевдонимом.
Вы попробовали запустить его? (Я действительно не уверен, что вы считаете незаконным, - тот факт, что вы дважды передаете один аргумент функции?) –
Да, это законно. Почему бы и нет? –
AFAIK, это законно; это неразумно, но это законно. –