The only way you can solve this is to stop trying to do what you're trying to do. Arrays are not copyable or assignable.
In all honesty I didn't even know you could try to do something like this. It seems that the compiler is basically freaking the hell out. That doesn't surprise me. I don't know exactly why but I do know this will simply never work.
You should be able to, on the other hand, contain a boost::array without difficulty.
typedef boost::array<double,2> point;
You should look in the documentation to be sure I'm correct but I'm pretty sure this type is assignable and copy-constructable.