「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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- 物理学 移流熱拡散方程式の解き方 フーリエ変換 1 2022/08/15 15:25
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
これってほんとにみますか?
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
自作のプログラムがウイルスと...
-
PICマイコンのコピー(クローン...
-
Application.ScreenUpdatingが...
-
Excelに埋め込んだVBAのプログ...
-
ドロップダウンリストの文字を...
-
javaで特定の文字のカウントを...
-
python変数の使い方について
-
「Outlookが他のプログラムによ...
-
写真のプログラムは、1からnま...
-
C言語 バッファについて。
-
NC旋盤の原点設定
-
VC++でプログラムの多言語化を...
-
VBAにてメール作成した際、一部...
-
読み込み中にアクセス違反が発...
-
グラフをC#のASP.net MVCで表示...
-
グラフィックボードにウイルス...
-
COBOLの連絡領域について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelに埋め込んだVBAのプログ...
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
「Outlookが他のプログラムによ...
-
PICマイコンのコピー(クローン...
-
モジュール、アプリケーション...
-
XnViewにwebpを「いつも開く」...
-
VBAでユーザーフォームが自動的...
-
良いプログラム、悪いプログラ...
-
自作のプログラムがウイルスと...
-
main関数を先頭に置くデメリット
-
ドロップダウンリストの文字を...
-
javaで特定の文字のカウントを...
-
未使用の変数を一括検索する方法
-
特定のwebサイトのタイトルや記...
-
COBOLの連絡領域について
-
exeファイルしかないプログラム...
-
エクセルとワードをデスクトッ...
-
AutoCADを用いて板金展開図を自...
おすすめ情報
ありがとうございます。以下に補足として記します。
[プログラム全体]
#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でも使用できるのか分かりません。