私にとっては、それはとてもシンプルなはずですが、私は何か不足しているように感じます。GNU C++での文字列配列の宣言
私は自分のヘッダファイルにプライベート変数を持っています_stoplist
私はヘッダファイルでそれを宣言したとき、コードは次のようになります。
private:
std::string _stoplist[];
私の機能の後半で、私はこれにアクセスすることに決めました。それは何かをセグメンテーションします。
_stoplist[_length];
//cout << _length << prints 104 (its a valid int and everything)
_stoplist[0] = "b";
segfaultでstd :: string.assign()コードがクラッシュします。私はここで何かが分からないと感じているが、まだ何が見つかりませんか?
ありがとうございます!
編集:ありがとう、すべての助けに感謝します。これを読むかもしれない誰かのために、それはそれを行うための賢い方法ですので、私は以下の答えの1つを使用することをお勧めします。私の場合は、をなしで動的に割り当てる必要があったので、私はちょうど次のコードを使用しました。
private:
std::string *_stoplist;
、その後、私のcppファイル内
_stoplist = new string[_length];
うん、それは本当に道簡単だった、と私はちょうどその部分を見て超えていたことが判明。
このような可変長配列は正当なC++ではなく、GCCの拡張機能です。 – bames53