On line 38, you are trying to create an (array of) objects of type Test using a constructor with no arguments. However, the only constructors you provide are one taking two arguments and the copy constructor (not relevant here).
Either create a constructor taking no arguments, or put default values in (as in the first code). Say Test(std::string i="", int x=0)
Hello. In your previous code, you have some "default values" according to a string and an integer (line 11). Take a look at the constructor. In you own code, you forgot them (line 11 again) - so you cannot instantiate your constructor which waits some arguments. Set another constructor or set its arguments ++
I guess that you are trying to use and instantiate a class - a first exercise. Maybe this code could be useful. It create five instantiations of a class and clean up memory. The constructor waits its arguments and I give them in the loop ++