私はC++に非常に慣れていません。次の手順を実行すると、システムがクラッシュします(コンパイルエラーではありません)。
クラスのグローバルポインタを宣言しています。
BGiftConfigFile *bgiftConfig;
class BGiftConfigFile : public EftBarclaysGiftConfig { }
このクラスでは、XMLファイルからタグを読み取っています。このポインタを使用して値を取得すると、システムがクラッシュします。ベリフォン端末のコーディングをしています。
int referenceSetting = bgiftConfig->getreferencesetting(); //system error
getreferencesetting()は、クラスEftBarclaysGiftConfigのメンバー関数です。
この場合、ポインタの動作について混乱しています。私は何か間違ったことをしていることを知っていますが、それを修正することができませんでした。
クラスの1つのオブジェクトをローカルで宣言すると、値が適切に取得されます。
BGiftConfigFile bgiftConfig1;
int referenceSetting = bgiftConfig1.getreferencesetting(); //working
しかし、このオブジェクトをグローバルとして宣言すると、システムもクラッシュします。
コード内の別の場所で値をフェッチする必要があるため、グローバルなものを使用する必要がありました。
この問題を修正するにはどうすればよいですか?