The assignment (=) operator makes the left side equal to the right. The right side is the constant 1, which can't be changed to be equal to whatever is at ary[j]. In other words, the constant 1 is not a proper l-value for the operator. You should just switch the order of the operands.
Thanks I can't believe I missed that, thanks. The static members are there because they conserve there value every time I loop the functions in Test::Test()