Компилятор: Microsoft Visual Studio .NET (Framework v1.1)
ОС: Microsoft Windows XP Professional SP1
=========================================================
RSQ>>SomeFunc(ar1, ar2) // Вот это - глобальная функция, а не член класса.
RSQ>>{
RSQ>> ...
RSQ>>}
RSQ>>...
RSQ>>
Это даже не функция. Таких зверей в природе С++ вообще не водится.
Где тип возвращаемого значения? Что такое (ar1, ar2)? Типы? Но там притаились фигурные скобочки имплементации, значит должны присутствовать быть имена параметров.
SW>Это даже не функция. Таких зверей в природе С++ вообще не водится. SW>Где тип возвращаемого значения? Что такое (ar1, ar2)? Типы? Но там притаились фигурные скобочки имплементации, значит должны присутствовать быть имена параметров.
Не совсем. По первому пункту, далеко не не все компиляторы запрещают функции без указания типа возвращаемого значения.
По второму пункту — иена параметров совершенно необязательны в определении функции, если они не используются.
Здравствуйте, Vamp, Вы писали:
SW>>Это даже не функция. Таких зверей в природе С++ вообще не водится. V>Не совсем.
Угу.
V>По первому пункту, далеко не не все компиляторы запрещают функции без указания типа возвращаемого значения.
Если я правильно понимаю, это прямо запрещено 8.3.5/1 стандарта C++. Однако VC6 даже не ругается, если ставить return c типом int, Intel говорит:
warning #880: omission of explicit type is nonstandard ("int" assumed)
V>По второму пункту — иена параметров совершенно необязательны в определении функции, если они не используются.
Я был просто поражён, но вы действительно правы