以下两个函数定义有什么区别?
功能声明:
void fun(int* p);
功能定义1:
void fun (int* p){
p += 1;
}
功能定义1:
void fun (*p){
p += 1;
}
答案 0 :(得分:2)
只有一个有效的函数定义,即您给出的第一个函数:
功能定义1:
void fun (int* p) {
p += 1;
}
你也可能意味着:
(*p) += 1;
答案 1 :(得分:1)
通过指针传递int
:
void fun (int* p) ;
void fun (int* p)
{
*p += 1 ; // Add 1 to the value pointed by p.
}
通过reference传递int
:
void fun (int& p) ;
void fun (int& p)
{
p += 1 ; // Add 1 to p.
}