2013-12-17 7 views
-6

Так что я работаю с кодом другой фирмы на C++, и я не знаком с обычными практиками C++, и мне кажется, что мне кажется странным.Объект вызывает функцию без аргументов функции, которая требует аргумента

У меня есть объект в .cpp-файле. Я вызову file1, который вызывает функцию-член без каких-либо аргументов. Если я посмотрю, где класс этого объекта и этот метод определены, в .cpp-файле я буду обозначать файл2, эта функция принимает один float в качестве аргумента. Однако в отдельном файле .h, который как file1, так и file2 #include, существует прототип функции этой функции, однако поплату присваивается определенное значение.

Итак, что именно происходит здесь и в чем была мотивация?

+3

Посмотрите «аргументы по умолчанию» – IdeaHat

ответ

1

Если float не инициализируется при вызове функции-члена, ему будет присвоено значение по умолчанию, используемое в прототипе. Если этот float имеет значение при вызове функции-члена, значение по умолчанию игнорируется.

Смежные вопросы