C++では、const int *をint *に変換できないことがわかりました。しかし、私はconst int *をint *に変換できるコードスニペットを持っています。私はC + +の初心者ですが、私はこれでgoogledしかし、私はちょうどconstのint * constの違反を避けるためにint *に変換することはできません言及リンクを持っている。それがエラーC++ const int *からint *への変換予期しない結果の処理
また#include <iostream>
using namespace std;
int main(void)
{
const int a1 = 40;
const int* b1 = &a1;
int* c1 = (int *)(b1);
*c1 = 43;
cout<< c1<<" "<< &a1<<endl;
cout<< *c1<<" "<< a1<<endl;
}
せずにコンパイルされた理由を私は把握することはできませんよ、問題は、上記のプログラムの出力は次のとおりです。
0x7fff5476db8c 0x7fff5476db8c
43 40
誰かがC1整数ポインタが指している説明していただけますa1と同じアドレスですが、それぞれ異なる値43と40を持ちます。
あなたは 'に'のconst T *を '鋳造得るものザッツT *' ... – tkausl