Здравствуйте!
Насколько void похож на остальные типы?
Вот у меня есть функция вида
void doSomething( int arg, ... )
Хочу, допустим, если int arg < 0, то сделать одно, в остальных случаях — другое. Сейчас пишу так:
void doSomething( int arg, ... )
{
if (arg<0)
{
doSomethingElse();
return;
}
// do main job here
}
Хочу эту запись подсократить, как-то так:
void doSomething( int arg, ...)
{
if (arg<0)
return doSomethingElse(), (void)0; // Или что тут написать?
// do main job here
}
Как быть?
ЗЫ Можно конечно почитать стандарт или задрочить ideone.com в поискать рабочего варианта, но пока мне кажется, что тут быстрее ответ можно получить
ЗЫЫ А если исходная функция вообще шаблон?
template<typename ReturnType>
ReturnType doSomething( int arg, ... )
{
if (arg<0)
return doSomethingElse(), (ReturnType)0; // Или что тут написать?
}
и инстанциируется с типом
void?