Re[3]: B b(A(i),A(i)) : error: duplicate parameter name :(
От: Anton V. Kolotaev  
Дата: 09.06.03 10:06
Оценка: 2 (1)
Здравствуйте, Доброжелатель, Вы писали:

AVK>>>      B b(A(i),A(i));
AVK>>>


А>>Некорректный код. Ты объявляешь функцию b, принимающую два одноименных параметра.


Д>А при чем здесь функция? Здесь объявляется переменная типа B.

Д>Мой компиллятор вообще выдает
Д>error C2086: 'i' : redefinition
Д>Я чего-то совсем ничего не понимаю... На мой взгляд все корректно.

Этот код эквивалентен следующему
    B b(A i, A i);


что рассмаиривается компилятором как объявление функции. Ошибку он выдает потому, что два аргумента названы одинаково. Если написать B b(A(i),A(j)), это будет корректное объявление функции, а скажем B b(A(i),A(0)) — конструирование объекта b типа B значением (A(i),A(0)).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.