/in/foo.cc: In member function 'Array* Array::SetInter(Array&)':
/in/foo.cc:58:27: error: no matching function for call to 'Array::Array(int&)'
Array *pA =new Array(size);
^
/in/foo.cc:19:1: note: candidate: Array::Array()
Array::Array()
^~~~~
/in/foo.cc:19:1: note: candidate expects 0 arguments, 1 provided
/in/foo.cc:3:7: note: candidate: constexpr Array::Array(const Array&)
class Array
^~~~~
/in/foo.cc:3:7: note: no known conversion for argument 1 from 'int' to 'const Array&'
/in/foo.cc: In function 'int main()':
/in/foo.cc:70:9: error: conflicting declaration 'Array* a3'
Array *a3=a1.SetInter( &a2);
^~
/in/foo.cc:67:14: note: previous declaration as 'Array a3'
Array a1,a2,a3;
^~
/in/foo.cc:70:28: error: no matching function for call to 'Array::SetInter(Array*)'
Array *a3=a1.SetInter( &a2);
^
/in/foo.cc:56:9: note: candidate: Array* Array::SetInter(Array&)
Array * Array::SetInter(Array &A)
^~~~~
/in/foo.cc:56:9: note: no known conversion for argument 1 from 'Array*' to 'Array&'