2016-10-17 2 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 ++. В сообщении об ошибке говорится: «Невозможно преобразовать сложный int в int». Так, возможно, это означает сложные числа? –

+5

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

ответ

0

Суффикс i и j используется для комплексных чисел.

Смежные вопросы