返回值直接用传参,就不会报错?函数返回引用碰到的怪现象
正在看:返回引用,要求在函数的参数中,包含有以引用方式或指针方式存在的,需要被返回的参数。算是能死记住,但是一敲代码,问题就来了......试了下直接返回普通传参......
返回值直接用传参,就不会报错?函数返回引用碰到的怪现象,想想可能是因为不操作,就不会初始化吗?还是其他原因?
这是直接返回传参的写法,只有warning:
#include <stdio.h>#include <stdlib.h>int &func(int t){ return t; //This line: [Warning] reference to local variable 't' returned [enabled by default] }int main(int argc, char * argv[]) { int a=0; int b=func(a); printf("&a=0X%08X,&b=%08X\n",&a,&b); return 0;}#include <stdio.h>#include <stdlib.h>int &func(int t){ return t+1; //This line: [Error] invalid initialization of non-const reference of type 'int&' from an rvalue of type 'int' }int main(int argc, char * argv[]) { int a=0; int b=func(a); printf("&a=0X%08X,&b=%08X\n",&a,&b); return 0;}