c++ - What happens when use a function with an argument by reference with a pointer? -


references functions rather confusing. can put 1 in argument in function definition, put non-reference non-pointer value in argument when use later. , thought this:

int foo (int& bar) {     //code }  //more code...  int* = &b; c = foo (a); 

what happens? foo use a, b, or what? how force either use?

why don't test yourself? whenever you're in doubt, try compiling it!

it won't work , makes sense - foo() asking parameter of type int& - reference int, trying pass pointer it. error

cannot convert parameter 1 'int *' 'int &'

regarding question

how force either use?

your function able modify int value passed it, because accepts reference parameter.

if don't want function able modify argument, change signature to:

int foo (int bar)

or change parameter reference const int:

int foo (const int& bar)


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

javascript - addthis share facebook and google+ url -

ios - Show keyboard with UITextField in the input accessory view -