const 変数でアクセスエラーが出る理由 const_cast<>()
const_castの使い方なのですがなぜconst int z = 0
をソースファイルの一番外側に書くとアクセスエラーにりint main()
の中(//コメント部)に書くとエラーが起きないのでしょうか?
const int z = 0
をソースファイルの一番外側に書いた場合をどうすればアクセスエラーを防げるのかを教えてほしいです。
#include <iostream>
#include "conio.h"
#include <iomanip>
#include "math.h"
#include <list>
using namespace std;
const int z = 0;
int main() {
//const int z = 0;
int *zz = const_cast<int*>(&z);
*zz = 5;
cout << *zz;
_getch();
return 0;
}