这个错误是什么意思?为什么当我将所有类型加倍时,它不会显示相同的错误?功能指针
C2556 '诠释DIV(INT,INT)':重载函数仅通过从 'div_t DIV(INT,INT)' 返回 类型不同
C2371 'DIV':重新定义; 不同的基本类型
C2491'div':dllimport的定义 函数不允许
C2664'int calculate(int,int,int(__cdecl *)(int,int))':不能将参数3从'overloaded-function '到 'INT(__cdecl *)(INT,INT)'
#include <iostream>
using namespace std;
int sum(int x, int y) {
return x + y;
}
int subs(int x, int y) {
return x - y;
}
int mult(int x, int y) {
return x * y;
}
int div(int x, int y) {
return x/y;
}
int calculate(int x, int y, int(*func)(int, int)) {
return func(x, y);
}
void main() {
cout<<"Sum:"<< calculate(8, 4, sum)<<endl;
cout << "Subs:" << calculate(8, 4, subs) << endl;
cout << "Mult:" << calculate(8, 4, mult) << endl;
cout << "Div:" << calculate(8, 4, div) << endl;
}
'using namespace std ;' strike again!去掉它。标准库名称在'std'中有一个很好的理由。 –