这就是我想要完成的事情:
struct test{};
const test returnconst(){
return test();
}
test returnnonconst(){
return test();
}
int main(){
test t1=returnnonconst();
const test t2=returnnonconst();
test t3=returnconst(); //I want this to be a compile error
const test t4=returnconst();
}
编译器接受所有四个 return* 调用。我知道在第三次调用中构造了对象的副本,但我想强制调用者returnconst
将值存储为const
. 有解决方法吗?