You should read about operator overloading to understand why you got the error.
To answer your question: A[0] really == 'l', which is a single character, not the first word as you wanted. Want individual words? You can tokenize a string into words by using a istringstream and the extraction operator.
I've had this problem before too. I'm a sub-par programmer who doesn't really understand the responses above. I've been able to circumvent this problem by doing the following, although next time I'll try hanst99's solution. (If his thing works, do that).
Technically, the only point is to allow the compiler to use the operator + (std::string, char) overloads. (operator +(char, std::string) doesn't exist)