C++
Xcode9

Xcode9で謎のEXC_BAD_INSTRUCTIONと戦った話

More than 1 year has passed since last update.

Xcode9に上げたら今まで動いてたコードがEXC_BAD_INSTRUCTION吐いて落ちるようになった.
一時間くらい祈りを捧げた結果分かったことは僕が全面的に悪かったということ.

再現コード

struct FuckinObject {
    int x;
    FuckinObject &operator=(int x) {
        this->x = x;
    }
};

int main(int argc, char *argv[]) {
    FuckinObject fuck;
    fuck = 666;
    return 0;
}

何が悪いか

return *this してない.

どうすれば良いか

return *this する.

(追記)もっとどうすれば良いか

スクリーンショット 2017-09-24 15.20.30.png

この設定をYESにする ( thx: @yumetodo )