add some return type deduction test (c++14)
This commit is contained in:
parent
af963758f4
commit
e14177b097
3 changed files with 23 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -19,3 +19,4 @@ lvalues
|
|||
bad_alloc
|
||||
rtti
|
||||
future
|
||||
return-type-deduction
|
||||
|
|
|
@ -21,3 +21,9 @@ add_executable(rtti rtti.cpp)
|
|||
|
||||
add_executable(future future.cpp)
|
||||
set_target_properties(future PROPERTIES LINK_FLAGS "-pthread")
|
||||
|
||||
# those are c++14:
|
||||
|
||||
add_executable(return-type-deduction return-type-deduction.cpp)
|
||||
#XXX a bit ugly, as the -std=c++1y gets appended to the other flags, which say -std=c++11
|
||||
set_source_files_properties(return-type-deduction.cpp PROPERTIES COMPILE_FLAGS "-std=c++1y")
|
||||
|
|
16
return-type-deduction.cpp
Normal file
16
return-type-deduction.cpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
/* http://en.wikipedia.org/wiki/C++14 */
|
||||
|
||||
#include <cassert>
|
||||
#include <iostream>
|
||||
|
||||
auto sum(int i) {
|
||||
if (i == 1)
|
||||
return i; // return type deduced as int
|
||||
else
|
||||
return sum (i-1) + i; // ok to call it now
|
||||
}
|
||||
|
||||
int main() {
|
||||
assert(sum(3) == 6);
|
||||
assert(sum(10) == 55);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue