3DCoat
3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
|
Передача временного объекта по ссылке, которая не помечена модификатором "const", является ошибкой для компилятора GCC под Linux. Ссылка на объект, по которой не возвращается значение, должна быть "const". Например:
При сборке под Linux это приводит к ошибке:
В сигнатуру вызываемой функции нужно добавить "const" к типу аргумента:
Удобно принять правило, что все ссылки всегда являются "const" и они только принимают аргументы. А модифицируемые аргументы всегда передаются только через указатель.
В следствии необходимости добавления "const" к ссылкам, по которым передаются временные объекты, возникает новая ошибка в местах, где у аргумента вызывается метод, не модифицирующий его содержимое, однако не помеченный модификатором "const". Например, после добавления "const" к аргументу в сигнатуре "CalcLengthSq" возникнет новая ошибка:
Методы класса "PairF", которые не модифицируют его содержимое, должны быть помечены "const", чтобы их можно было вызвать у "const" ссылки на объект: