Я использую 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 поднимет предупреждение для него.
так это 1j или 2j? – Mox
Он не компилируется на моем g ++. В сообщении об ошибке говорится: «Невозможно преобразовать сложный int в int». Так, возможно, это означает сложные числа? –
http://stackoverflow.com/questions/33549444/what-does-the-integer-suffix-j-mean –