Вы не делаете ничего плохого - это ошибка в скрипте, которая появляется, когда вы идете по пути «Скрипт автоматизации» на портале. Вы можете изменить скрипт для использования параметра или просто удалить его, если вы его не используете.
В репозитории быстрого запуска есть больше сценариев развертывания, если вы хотите взглянуть на них:
https://github.com/Azure/azure-quickstart-templates
https://github.com/Azure/azure-quickstart-templates/blob/master/Deploy-AzureResourceGroup.ps1
То, что происходит, является этим bcd * 2
генерирует временный файл BCD
, который не может связать с a BCD &
. Попытайтесь заменить <<
оператор с одним из них:
friend ostream &operator<<(ostream &os, const BCD &bcd);
или
friend ostream &operator<<(ostream &os, BCD bcd);
или даже
friend ostream &operator<<(ostream &os, const BCD bcd);
Первые работы, начиная с привязки временной переменной к постоянной ссылке позволенный explicity, в отличие от привязки к ссылке неконстанты. Другие работают путем создания копии временной переменной.
Править: Как отмечено в комментариях - предпочитают константу, и версия в большинстве случаев, начиная с изменения объекта в операторе потоковой передачи будет удивительна любому использующему Ваш класс. Получение этого скомпилировать может потребовать добавления const
объявления к Вашей функции членства классов в соответствующих случаях.