new int[n]; ← このnのところは、何の型で渡すのか決められてますか?
intとかlongとか(負数はあり得ないので、unsignedでしょうか)

あと、Windowsの32ビット環境では、intとlongはまったく同じ型として扱っても問題ないですか?