4

abs()という関数を実装しました。このエラーが発生します:

組み込み関数、定義できません

私は何を間違えましたか?VisualStudio2005を使用しています。

4

4 に答える 4

4

組み込み関数、定義できません

この場合、組み込みとは、コンパイラーに、と呼ばれる関数の実装がすでにabsあり、再定義できないことを意味します。

解決?たとえば、関数の名前を別の名前に変更しますsnakile_abs

abs詳細については、関数に関するMSDNドキュメントを確認してください。

于 2010-08-24T20:43:26.047 に答える
2

問題はヘッダーにないかどうかです。

問題は、組み込み関数、つまりコンパイラーがそれ自体を認識して実装する関数であり、通常はCコードだけでは利用できない最適化を使用して定義できないことです。

于 2010-08-24T14:22:05.887 に答える
0

すべての数学関数の名前(math.hを参照)

接頭辞「f」または「l」が付いたすべての数学関数の名前。

実装のために予約されています。

于 2010-08-24T20:33:48.753 に答える
0

定義static int abs(int x) { ... }は合法である必要がありますが、単にint abs(int x) { ... }未定義の動作があるため、コンパイルで実行できる1つの合理的なことは、エラーを発行することです。

于 2010-08-24T23:54:54.207 に答える