2017-06-26 3 views
-2

タイプ&がconst L値にバインドできないのはなぜですか?私はタイプ&はL値にバインドすることができますが、const L値は変数のいくつかのタイプの不変のアドレスですか理解していますか?私の第二の疑問は、タイプ&はなぜ「真正なR値」にバインドできないのでしょうか?あなたの助けが高く評価されます。タイプ&がconstの左辺値をバインドできない理由

+0

コードを表示してください。あなたはconstがnon-constによって参照できない理由を尋ねているようです。 – wally

+0

壊れた英語を修正してください。私はそこに明確な疑問があるかもしれないと思う。しかし、現在、私はそれを解読することはできません。 –

+0

あなたはconst-correectnessに違反しています。 const名以外の名前で別名を付けることはできません。そのような単純な。 – NathanOliver

答えて

2

タイプ&がconst L値にバインドできないのはなぜですか?

許可されている場合は、constオブジェクトを変更できます。

void foo(int& v) 
{ 
    v = 10; 
} 

int main() 
{ 
    const int i = 20; 
    int& ref = i; 
    foo(ref); // If the previous line were allowed, the value of i will be 10 after 
       // the function returns, which violates the const-ness of i 
} 
関連する問題