我想打电话
template <typename FUNC>
int execute ( FUNC )
{
int a { 5 };
int b { 8 };
return FUNC ( a, b );
}
Run Code Online (Sandbox Code Playgroud)
使用以下行:
std::cout << execute ( [] ( int a, int b ){ return a + b; }) << std::endl;
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
error C2661: 'main::<lambda_5994edd6ba73caf12c83e036d510d0d8>::<lambda_5994edd6ba73caf12c83e036d510d0d8>': Keine überladene Funktion akzeptiert 2 Argumente
Run Code Online (Sandbox Code Playgroud)
所以问题是我做错了什么?错误是德语,但它基本上只是说该函数不需要2个参数,它显然应该这样做
为什么
float bla = ( 5/9 )* (100 - 32) result in 0 * 100 -> 0 ?
Run Code Online (Sandbox Code Playgroud)
和
float bla= 5*(100- 32) / 9;
Run Code Online (Sandbox Code Playgroud)
锻炼?他似乎将5/9视为一个整数,并使其为0,但结果变量是浮点数,因此编译器应该知道他可以使用5/9或?