中級 › error: is private within this context の原因と直し方 › パターン2
error: is private within this context の原因と直し方
private指定されたクラスのメンバ変数に、クラスの外から直接アクセスしようとしたときに出るエラーです。
1 #include <iostream> 2 class Robot { 3 _________: ^ 4 int power = 0; 5 }; 6 int main() { 7 Robot r; 8 r.power = 50; 9 std::cout << "done" << std::endl; 10 return 0; 11 }
main.cpp:8:7: error: 'int Robot::power' is private within this context
空欄を埋めてコンパイル・実行を通す
アクセス制御はインスタンスの有無ではなく、コードがクラスの内側かどうかで決まります。
次の問題