C言語初心者です。
根本的に間違えているかと思いますが、下記内容で困ってます。
C++で複素数を扱いたいと思い
#include<complex.h>
うんだら
ふんだら
と書きました。
環境は、Borland C++ 5.6 for Win32だと思います。
メモ帳でソースを作って、コマンドプロンプトでbcc32 ***.c
とコンパイルしたのですが、ヘッダーファイルのエラー?が
出てるようです。(詳細は下記に示してます。)
おそらく根本的なエラーが出てるとはおもうのですが、
エラーの内容が理解できません。ヘッダーファイルがどこにあるのかも
わかりません。どうすればエラーがなくなるのか教えて頂きたいです。
よろしく御願い致します。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
エラー E2257 C:\Program Files\Borland\CBuilder6\Include\stl/_mbstate.h 52: , が必要
エラー E2453 C:\Program Files\Borland\CBuilder6\Include\stl/type_traits.h 64: '__true_type' 型のサイズは未知あるいはゼロ
エラー E2453 C:\Program Files\Borland\CBuilder6Include\stl/type_traits.h 65: '__false_type' 型のサイズは未知あるいはゼロ
エラー E2141 C:\Program Files\Borland\CBuilder6\Include\stl/type_traits.h 68: 宣言の構文エラー
・
・
・
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
No.1
- 回答日時:
エラーが発生したソースを補足してください。
この回答への補足
以下にソースを書きました。
複素数が使えるかどうかの実験で、
z1=1+2i, z2=2+3iと表示させているつもりなんですが。。。
======================================================
#include <stdio.h>
#include <complex.h>
int main(void)
{
complex <double> z1, z2;
z1 = complex <double>(1,2);
z2 = complex <double>(2,3);
printf("z1 = %lf \n",&z1);
printf("z2 = %lf \n",&z2);
return 0;
}
No.2
- 回答日時:
再現できません。
ちゃんと動いてくれます。#include <iostream>
#include <complex>
int main() {
std::complex<double> x(1.2, 3.4);
std::complex<double> y(5.6, 7.8);
std::complex<double> z;
z = x + y;
std::cout << x << '+' << y << '=' << z << std::endl;
}
/* 実行結果 */
(1.2,3.4)+(5.6,7.8)=(6.8,11.2)
ありがとうございます。
確かにコピペして実行してみると、ちゃんと動きました。
std::とか言うのがキーワードですね。
それに、iostreamって見やすくて分かりやすいですね。
存在すら知らなかったので、「std」と「iostream」両方共調べてみました。なんとなくは理解できて、使えるようにはなりました。
とっても勉強になりました。ありがとうございます。
No.3
- 回答日時:
complexは名前空間 std にあります。
なので:#include <stdio.h>
#include <complex.h>
int main(void)
{
std::complex <double> z1, z2;
z1 = std::complex <double>(1,2);
z2 = std::complex <double>(2,3);
printf("z1 = %lf+%lfi\n",z1.real(), z1.imag());
printf("z2 = %lf+%lfi\n",z2.real(), z2.imag());
return 0;
}
std::や名前空間、ちらっと調べてみましたが、なんとなく分かったきがします。これを理解できたら一歩成長ですね。
頑張ってみます。
また、複素数の表示方法もあっているか不安だったので、書いて頂き(下記)大変参考になりました。
ありがとうございます。
printf("z1 = %lf+%lfi\n",z1.real(), z1.imag());
printf("z2 = %lf+%lfi\n",z2.real(), z2.imag());
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- C言語・C++・C# メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが // 3 2023/05/02 11:24
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- Excel(エクセル) このコードに追記事項の仕方を教えて下さい。 以下のコード内容に出てくる。セルH3が空白の場合、エラー 4 2023/08/03 00:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
エラー: ‘inval’ の記憶サイズ...
-
C2146を回避するにはどうしたら...
-
Excelのエラーで困ってます。
-
win32api構造体引数の型指定に...
-
fatal error LNK1112
-
Handlesについて
-
ビルド失敗 指定されたファイ...
-
レコードセットをcloseする所で...
-
MakeSureDirectoryPathExists
-
バッチからsqlplusの接続エラー...
-
入れ子になっている構造体配列...
-
左側がクラス、構造体、共用体...
-
デバッグ中のエラーのことで教...
-
fortranでプログラムを実行する...
-
include<wtsapi32.h>でエラーが...
-
VB2008で定数に色の設定をした...
-
不正なメモリ領域へのアクセス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
Excelのエラーで困ってます。
-
バッチからsqlplusの接続エラー...
-
fortranでプログラムを実行する...
-
HEWを使用しているのですが、こ...
-
コンパイルできません。
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
BC30002: 型 'ListItem' が定義...
-
Handlesについて
-
sys/time.hのインクルードがで...
-
ビルド失敗 指定されたファイ...
-
VB2008で定数に色の設定をした...
-
RightとLeft関数のライブ...
-
multiple definitionというエラー
-
WindowsからLinuxへの移植
-
HANDLEの宣言でのエラー
-
レコードセットをcloseする所で...
おすすめ情報