12-01-2009, 09:48 AM
Quote:A function shall not return a reference or a pointer to an automatic variable (including parameters), defined within the function.
I have a question about reference types. Is the following code compliant or not?
Code:
int global_var;
int & foo(int & ref) {
return ref; // Compliant?
int & global_ref = global_var;
return global_ref; // Compliant?
int local_var;
int & local_ref = local_var;
return local_ref; // Compliant?
}
int * bar(int & ref) {
return &ref; // Compliant?
int & global_ref = global_var;
return &global_ref; // Compliant?
int local_var;
int & local_ref = local_var;
return &local_ref; // Compliant?
}