In the standard library, certain containers "fill in" values using the default constructor when the value is not given explicitly. vector<Point> temp(10)
initializes the vector with 10 elements, which are filled with the default-constructed value of your type. But when you have defined this constructor:
Point(int x, int y, Uint8 r, Uint8 g, Uint8 b) : x(x), y(y), r(r), g(g), b(b)
the compiler will not implicitly define a default constructor, so no constructor is available now. You can fix the compiler error by defining another constructor:
Point(){}