result_of变invoke_result的经验教训

代码如下:

#include <常用>


int add(int a, int b)
{
	return a + b;
}<型名 F,型名...O>允许如型<是空值<调果型<F,O...>>>(F&f,O...o){
    打印("真");
}<型名 F,型名...O>允许如型<!是空值<调果型<F,O...>>>(F&f,O...o){
    打印("假");
    打印(o...);
}

空 主(){(add,3,50);
}

为什么编译不过呢,是因为你没有用对这个调果型.
他是直接调果型<F,O...>,而不是的结果<F(O...)>.两者不一样.
以后遇见这种过时的时候,先看看人家的方法,仔细看.不要错过了.然后找原因,找半天都想不到.某某过时的时候,可能就是你未掌握替代他的东西的时候.

posted @ 2020-11-14 16:18  zjh6  阅读(27)  评论(0)    收藏  举报  来源