shevek
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Пытаюсь изучить С++ , столкнулся с проблемой. как создать ссылку на массив? Пробовал так: int mas[]= {1,2,3,4,5,6,7,8,9,10}; int *&rmas = mas; Но gcc на это ругается: ex3.cpp:14: error: invalid initialization of non-const reference of type 'int*&' from a temporary of type 'int*' Поскольку имя массива есть не что иное как указатель на его первый элемент(?), попробовал сделать это через промежуточный указатель int* ; int mas[]= {1,2,3,4,5,6,7,8,9,10}; int *p; p = mas; int *&rmas = p; Некрасиво но вроде работает. Вот это тоже работает, только вот не пойму почему int *const &rmas = mas; int *const &rmas - это же вроде ссылка на указатель на константый объект? Но присвоение по rmas работает! Или я ошибаюсь? И это ссылка на константый указатель на обьект? Обясните пожалуйста. |