0_0_36582138_30838.cpp: In function 'Complex operator+(const Complex&, const Complex&)':
0_0_36582138_30838.cpp:25:103: error: no matching function for call to 'Complex::Complex(<brace-enclosed initializer list>)'
friend Complex operator+(const Complex &a, const Complex &b) { return Complex{a.x + b.x, a.y + b.y}; }
^
0_0_36582138_30838.cpp:25:103: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex()
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: candidate expects 0 arguments, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(const Complex&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(Complex&&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp: In function 'Complex operator-(const Complex&, const Complex&)':
0_0_36582138_30838.cpp:27:103: error: no matching function for call to 'Complex::Complex(<brace-enclosed initializer list>)'
friend Complex operator-(const Complex &a, const Complex &b) { return Complex{a.x - b.x, a.y - b.y}; }
^
0_0_36582138_30838.cpp:27:103: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex()
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: candidate expects 0 arguments, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(const Complex&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(Complex&&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp: In function 'Complex operator*(const Complex&, const Complex&)':
0_0_36582138_30838.cpp:31:68: error: no matching function for call to 'Complex::Complex(<brace-enclosed initializer list>)'
return Complex{a.x * b.x - a.y * b.y, a.y * b.x + a.x * b.y};
^
0_0_36582138_30838.cpp:31:68: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex()
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: candidate expects 0 arguments, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(const Complex&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(Complex&&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp: In function 'void FFT(Complex*, int)':
0_0_36582138_30838.cpp:42:55: error: no matching function for call to 'Complex::Complex(<brace-enclosed initializer list>)'
Complex wn{cos(pi / mid), type * sin(pi / mid)};
^
0_0_36582138_30838.cpp:42:55: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex()
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: candidate expects 0 arguments, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(const Complex&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(Complex&&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp:45:27: error: no matching function for call to 'Complex::Complex(<brace-enclosed initializer list>)'
Complex w{1, 0};
^
0_0_36582138_30838.cpp:45:27: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex()
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: candidate expects 0 arguments, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(const Complex&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp:20:8: note: constexpr Complex::Complex(Complex&&)
0_0_36582138_30838.cpp:20:8: note: candidate expects 1 argument, 2 provided
0_0_36582138_30838.cpp: In function 'void solve(int, int)':
0_0_36582138_30838.cpp:75:14: error: no match for 'operator=' (operand types are 'Complex' and '<brace-enclosed initializer list>')
g[i] = {(double)a[i], 0};
^
0_0_36582138_30838.cpp:75:14: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: Complex& Complex::operator=(const Complex&)
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const Complex&'
0_0_36582138_30838.cpp:20:8: note: Complex& Complex::operator=(Complex&&)
0_0_36582138_30838.cpp:20:8: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Complex&&'
0_0_36582138_30838.cpp:77:18: error: no match for 'operator=' (operand types are 'Complex' and '<brace-enclosed initializer list>')
f[i - l] = {ans[i], 0};
^
0_0_36582138_30838.cpp:77:18: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: Complex& Complex::operator=(const Complex&)
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const Complex&'
0_0_36582138_30838.cpp:20:8: note: Complex& Complex::operator=(Complex&&)
0_0_36582138_30838.cpp:20:8: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Complex&&'
0_0_36582138_30838.cpp:79:18: error: no match for 'operator=' (operand types are 'Complex' and '<brace-enclosed initializer list>')
f[i - l] = {0, 0};
^
0_0_36582138_30838.cpp:79:18: note: candidates are:
0_0_36582138_30838.cpp:20:8: note: Complex& Complex::operator=(const Complex&)
struct Complex
^
0_0_36582138_30838.cpp:20:8: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const Complex&'
0_0_36582138_30838.cpp:20:8: note: Complex& Complex::operator=(Complex&&)
0_0_36582138_30838.cpp:20:8: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Complex&&'
|