私はいくつかの機能的なUnix C++をWindows環境に適応しようとしています。元のコードでC++ float配列のサイズ
が、そこにある:
float *drowPtrs[_imageRows];
窓にこれを移動するには、私はそれを調整しています
float *drowPtrs = new float[_imageRows];
しかし、後の機能では、この行があります:
float &otherDistance = drowPtrs[y][x];
明らかに私はdrowPtrs
を1次元配列として初期化しました。エラーです。
EDIT:これは、実際には、C++の構文に関する質問であり、UnixからWindowsへの問題ではありません。以下の答えがうまくいきます。
C++は同じ言語であり、オペレーティングシステムによっても異なります(Windowsには何十年もPOSIXサブシステムがありました)。では、なぜこのコードを変更する必要があると思いますか?私はちょっと混乱している。なぜならこれは本当にUnixやWindowsとは関係がないからだ。明確にするためにあなたの質問を編集してください! –
しかし、違いはありますか? Unix上で正常にコンパイルされたコードは、Windows(visual studio 2015)上で、例えば上記の最初の行にエラーを与えます。お返事をありがとうございます! – anti
コンパイラに違いがあるかもしれませんが、それはオペレーティングシステムの問題ではありません。あなたはコンパイラの変更について言及していないので、私はあなたが同じコンパイラを使用していたと仮定していましたが、Unixのターゲットの代わりにウィンドウを使用していました。だから、時には私がvisualC++を嫌うこともあるが、2015年版ではかなりOKだ。以前に使っていたC++は何ですか? –