Rather than pepper my code with 'using namespace std' everywhere as this is primarily a set of code modules, is there a good way to tell the CDT that std is my default namespace? PS: There is no issue compiling and running, only with the indexer. PPS: It works if I replace 'string' with 'std::string' however this would mean changing it everywhere in hundreds of thousands of lines of code A lot of which I didn't write and our QA people would freak out.
Here is an example:
(this method is defined thusly in the header for this class)
virtual void treatNull(string& i_val) {
if (isNull(i_val))
{
i_val.erase();
}
};
---------------------
(it is used like this)
treatNull(mBillingProdId);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This line generates this from Eclipse:
Invalid arguments '
Candidates are:
void treatNull(char &)
void treatNull(short int &)
void treatNull(int &)
void treatNull(long int &)
void treatNull(char *)
void treatNull(char *, int)
void treatNull(? &)
'
Note the last treatNull there...that one is the one that is actually defined as taking a string above.
I have, as I mentioned, lots of code which I did not write that would have to be modified as they all assume the the default namespace is std.