假设我们有两个函数(不是任何类成员):
int input_int (int *p)
{
p[0] = 10;
return p[0];
}
char input_char (char *p)
{
p[0] = 5;
return p[0];
}
还有一些课程:
class foo {
public:
foo();
void some_usefull_stuff() {
int i = input_int( &(this->A) );
}
protected:
void feature_for_usefull_stuff() {
char chr = input_char( &(this->B) );
}
int A;
private:
char B;
};
函数input_char和input_int是否正常工作?它们不会产生分段错误或任何异常吗?
答案 0 :(得分:1)
是的,它们将正常工作,传递给方法的地址是正确的,并指向正确的数据类型。