2016-10-17 19 views
1

Apple LLVMバージョン7.3.0(clang-703.0.31)を使用してコードをコンパイルすると、1jが一定の値になることがあります。C++定数値1jはどういう意味ですか?

次のコードスニペットでは、int bに値1jを割り当ててコンパイルします。

しかし、jは私が定義した変数ではありません。

1jとは何か説明できますか?それとも、コンパイラのバグですか?

ありがとうございます。

#include <iostream> 

using namespace std; 

int main() { 
    // What is 1j? Why this code can compile?? 
    int b = 1j; 
    cout << b << endl; 
    return 0; 
} 

私はこれが複素数であることを説明する別の投稿を見ました。

What does the integer suffix J mean?

そして-pedanticが、それに対して警告を引き上げるコンパイラオプションを使用して。

+1

それは1jか2jですか? – Mox

+0

私のg ++​​ではコンパイルされません。エラーメッセージに "complex intをintに変換できません"と表示されます。多分それは複素数を表しますか? –

+5

http://stackoverflow.com/questions/33549444/what-does-the-integer-suffix-j-mean –

答えて

0

接尾辞ijは、複素数に使用されます。