我注意到,如果我对此进行编译
int x() { }
我照常收到警告:
$ clang++-7 -pthread -std=c++17 -o main main.cpp
main.cpp:5:11: warning: control reaches end of non-void
function [-Wreturn-type]
int x() { }
^
1 warning generated.
$ ./main
但是,如果函数采用任何模板参数:
template <typename y>
int x() { }
没有警告出现。
$ clang++-7 -pthread -std=c++17 -o main main.cpp
$ ./main
这是编译器中的错误吗?