グローバル変数Rectの使用によるコンパイルエラーC1002について
かおすますおか  2017/01/22(Sun) 09:52
グローバル変数のRectを使用するプログラムを組むと、
コンパイルエラーC1002「パス 2 の実行中に、ヒープ領域を使い果たしました。」がでました。
最小再現コードは以下になります。

// 実行環境:Siv3D(August 2016 v2), C++(VS 2015)
# include <Siv3D.hpp>
const Rect rect = Rect(10, 10, 100, 100);
void Main()
{
rect.draw();
}

なぜエラーになるのか、グローバル変数として使うための回避策はあるのか、
について回答のほど、よろしくお願いします。
記事編集
Reputeless  2017/01/22(Sun) 13:07
情報ご提供ありがとうございます。
原因を調査中ですがまだわかりません。応急処置として以下のように定数を返す関数を使用してください。

# include <Siv3D.hpp>

constexpr Rect GetRect()
{
return Rect(10, 10, 100, 100);
}

void Main()
{
GetRect().draw();
}
編集
かおすますおか  2017/01/22(Sun) 13:27
素早い回答、ありがとうございます。
応急処置にてやろうとしていることができました。
編集
件名
Re: グローバル変数Rectの使用によるコンパイルエラーC1002について
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -