
「erf c++」や「誤差関数 c++」など検索をかけたところ、以下のようなC言語での関数がでてきまうす。
#include <math.h>
double erf(
double x
);
これを、C++プログラムに組み込み、例えば簡単な
cout << erf(0.01) << endl;
としたところ、
「error LNK2019 :未解決の外部シンボル"~"が関数_mainで参照されました。」
というビルドエラーが出てしまい、できませんでした。
C++だと上記のプログラムではないやり方なのでしょうか?教えてください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
うん, それはとても残念だ. erf が使えるのは, VS だと 2013 以降なのだよ.
https://msdn.microsoft.com/ja-jp/library/dn32904 …
は 2015 だけど, 「その他のバージョン」で 2013 も選べることから (正確には「2013 しか選べない」ことから) わかる.
で「今まで作ってきたVS2012でのプログラム」が「VS2015でも使用できるのか」は私も知らん. とりあえず「VS2012 では erf は使えない」とだけ書いておこう.
No.3
- 回答日時:
なんでプロトタイプ宣言が書いてあるのでしょう?
math.h のプロトを使わないとまずいのでは?
マングリングでリンカに渡る関数名が合わなくなっているのでしょう。
No.2
- 回答日時:
手元で実験した結果
コンパイラ (のバージョン) によるっぽい
ことが判明. 少なくとも GCC 6.1 と Visual Studio 2015 では何の問題もなく実行できる.
と思って補足にあるプログラムを見てみたら
double erf(double b);
と宣言してる時点で「ダメっぽい」雰囲気が漂ってるなぁ....
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの開き方
-
あるプログラムのコマンドライ...
-
OS入ってる機器のソフト・アプ...
-
Excelで4096点以上のFFTの方法
-
PICマイコンのコピー(クローン...
-
ブラウザ表示画面のボタンから...
-
powered byの表記について
-
.CSEGと.DSEG
-
SDL2のSDL.DLLは常に
-
ドロップダウンリストの文字を...
-
XnViewにwebpを「いつも開く」...
-
銃を発砲するならともかく、日...
-
エクセルとワードをデスクトッ...
-
VBAにてメール作成した際、一部...
-
AutoCADを用いて板金展開図を自...
-
binファイルってiphone専用です...
-
eepromについて
-
Excelに埋め込んだVBAのプログ...
-
C言語で移動平均のプログラムを...
-
Buffonの針
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
ファイルの開き方
-
Excelで4096点以上のFFTの方法
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
ドロップダウンリストの文字を...
-
OS入ってる機器のソフト・アプ...
-
PICマイコンのコピー(クローン...
-
自動クエリとはどういうもので...
-
XnViewにwebpを「いつも開く」...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
「Outlookが他のプログラムによ...
-
powered byの表記について
-
excelのexe化について
-
Excelに埋め込んだVBAのプログ...
-
銃を発砲するならともかく、日...
-
画像を読み込むのと取り込むの...
-
visual studio 2019を使ってい...
-
UWSCで指定のフォルダを開きたい。
おすすめ情報
ありがとうございます。以下に補足として記します。
[プログラム全体]
#include <iostream>
#include <cmath>
using namespace std;
//誤差関数
double erf(double b);
int main()
{
cout << erf(0.01);
return 0;
}
[エラーメッセージ]
エラー 1 error LNK2019: 未解決の外部シンボル "double __cdecl erf(double)" (?erf@@YANN@Z) が関数 _main で参照されました。
エラー 2 error LNK1120: 1 件の未解決の外部参照 (1行1列)
Visual Studio Express 2012を使っています。
include <iostream>
#include <math.h>
using namespace std;
int main()
{
cout << erf(0.01);
return 0;
}
上記のようにプログラムを組んでもエラーが出ます。
もしかしたら、バージョンが古く、VS2015ならできるでしょうか。
しかし、その場合、今まで作ってきたVS2012でのプログラムはVS2015でも使用できるのか分かりません。