は、私はいつもcstdlibのランダムな機能のみのrandとsrand関数が、次の作品(のUbuntu 10.10上のG ++でコンパイルされた)と思っていましたか?それがあいまい(私は自分の「ランダム()」関数を宣言していた)のオーバーロードされたとのUbuntuへのWindowsから移動するときcstdlibでrandom()が動作するのはなぜですか? (Ubuntuの10.10)
私は実際にこれを発見し、私のコンパイルに失敗しました。
#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
srandom(50);
cout << random();
return 0;
};
また、次はUbuntuの上で正しくコンパイル、それは)(ランダム)とsrandom(という、STDLIB.Hを確認した後に表示され、とりわけ、std名前空間で宣言されていません。それお尻の完全な痛みます...
#include <iostream>
#include <cstdlib>
int main() {
std::cout << random();
return 0;
};
これは健全なアドバイスですが、私はそれはダニエルの問題に関連はないと思うので、私は、)(でもC++ 0xのがのstd ::を定義ランダムとは思いません。 –
@JimはC++がstd :: randomを定義しないとは言いませんでした。実際、私は、コンパイラ作成者がC++標準ではない独自のものを自由に追加できると説明したと思います。 –
助けてくれてありがとうPhil。 – dcousens