前提・実現したいこと
C言語で複素数を扱うためにcomplex.hをインクルードしました。
ですがネットで拾ったそのヘッダファイルを見てみるとネットで書いてあるものと少し違うようで
いまいち扱い方がわかりません
発生している問題・エラーメッセージ
様々なところで書かれているのが
double complex 〇
で複素数の宣言ができるというものなのですが、私がインクルードしたcomplex.hではその宣言ができないようです
私のインクルードしたcomplex.hには
define complex _Complex
という文はありませんでした
該当のソースコード
こちらは私のインクルードしたcomplex.hです(一部抜粋)
C
1// 2// complex.h 3// 4// Copyright (c) Microsoft Corporation. All rights reserved. 5// 6// The complex math library. 7// 8#pragma once 9#define _COMPLEX 10 11#include <corecrt.h> 12 13_CRT_BEGIN_C_HEADER 14 15 16 17//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 18// 19// Types 20// 21//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 22#ifndef _C_COMPLEX_T 23 #define _C_COMPLEX_T 24 typedef struct _C_double_complex 25 { 26 double _Val[2]; 27 } _C_double_complex; 28 29 typedef struct _C_float_complex 30 { 31 float _Val[2]; 32 } _C_float_complex; 33 34 typedef struct _C_ldouble_complex 35 { 36 long double _Val[2]; 37 } _C_ldouble_complex; 38#endif 39 40typedef _C_double_complex _Dcomplex; 41typedef _C_float_complex _Fcomplex; 42typedef _C_ldouble_complex _Lcomplex; 43 44 45 46//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 47// 48// Macros 49// 50//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 51#define _DCOMPLEX_(re, im) _Cbuild(re, im) 52#define _FCOMPLEX_(re, im) _FCbuild(re, im) 53#define _LCOMPLEX_(re, im) _LCbuild(re, im) 54 55#define _Complex_I _FCbuild(0.0F, 1.0F) 56#define I _Complex_I 57 58 59 60 61 62 63 64_CRT_END_C_HEADER 65
試したこと
ダウンロードしたファイルを置き換えてみましたが不可能でした
またもとの私がインクルードしたcomplex.hの方で複素数が扱えないわけではないため試してみましたがリファレンスがなくいまいちわかりませんでした。
###ツール
ツールはVisual Studio 2017を使用しています
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/21 01:57
2018/06/21 02:57