テストコード
test.cpp
#include <iostream>
void hogehoge() {
std::cout << "hogehoge" << std::endl;
}
void hoge() {
return hogehoge();
}
int main() {
hoge();
return 0;
}
コンパイルと実行
clang++ -stdlib=libc++ test.cpp -Wall -Wextra && ./a.out
実行結果
hogehoge
コンパイルできるし警告も出ていません。
検索してみたけどなぜこれができるのかは分かりませんでした。
さらに調べたところ、wikipediaでこれに関する説明を見つけました。
http://ja.wikipedia.org/wiki/Return文
テンプレートで使うためですね、なるほど。