首先
double mean[4]]={0.};
const double *& haha = mean;//error
這種情況是非法的.原因是,這里的const限定的是double,也就是這是一個 “指向const double 的指針變量的引用“,所以,即使這個指針可以被改變,但是指向的值不能被改變。至於賦值,就只能老老實實賦給它一個const double * 型的變量,只有這樣才能體現這個變量是指針且其指向的值不可變(但是地址本身可以變)。
其他的解決辦法如下:
double mean[4]]={0.};
double *const & haha = mean;//ok