Dear all,
I am experiencing a very strange thing: In a project I instantiate a class in a method like this:
SingularValueDecomp SVD(blah);
The class has several methods. So I tried using CodeCompletion as: "SVD.[STRG+TAB]" and nothing happens. The parser output shows:
[12:37:43.060]: Doing AI for ' SVD.':
[12:37:43.060]: Pos=10408
[12:37:43.060]: NS: 'Rapid', PROC: 'TrainPreModel'
[12:37:43.060]: tok='SVD'
[12:37:43.060]: Looking for SVD under Rapid
[12:37:43.070]: Looking for SVD under Unknown
[12:37:43.070]: Token found SVD, type 'std::vector'
[12:37:43.070]: actual type is std::vector
[12:37:43.070]: searching under std
[12:37:43.070]: Class 'unknown'
[12:37:43.070]: Bailing out: class not found
Now if I try "SVD[STRG+TAB]" (without the dot) I see all methods and the output shows:
[12:50:03.148]: Pos=10408
[12:50:03.148]: NS: 'Rapid', PROC: 'TrainPreModel'
[12:50:03.158]: Doing AI for ' SVD':
[12:50:03.158]: Pos=10408
[12:50:03.158]: NS: 'Rapid', PROC: 'TrainPreModel'
[12:50:03.158]: tok='SVD'
[12:50:03.158]: Scope='Rapid'
[12:50:03.158]: Procedure of class 'Rapid' (0x021b6324), name='TrainPreModel'
[12:50:03.168]: Checking inheritance of Rapid
[12:50:03.168]: - Has 0 ancestor(s)
Of course in this case I have to add the "dot" afterwards to seperate the method from the class which is annoying. What am I doing wrong here?
Best regards, Morten.
Might wanna give it another try...
I did (build 1823) now it works partially, but unfortunately for the class described it's the same. But: I have another information regarding this: It seems to happen only for this very single class. (I didn't realise this because currently I am only working on this specific one). I instantiated the class as SVD. Now this class has a member function with exactly the same name "SVD()" with a parameter and a return value (both std::vector<double>). I assume the plugin interprets this somehow as constructor because if you look at the log again there is:
[12:37:43.070]: actual type is std::vector
where I wonder where this comes from.
The class is as follows in detail:
class SingularValueDecomp
{
public:
SingularValueDecomp();
SingularValueDecomp(unsigned int);
~SingularValueDecomp();
void ReInit(unsigned int);
std::vector<double> SVD(std::vector<double> &);
std::vector<double> Variance();
std::vector<double> SVDSingVals();
// and some other methods...
private:
bool DoSVD();
bool SingularValueDecomposition(std::vector< std::vector<double> > &);
// and dome more...
};
Maybe this helps for now... I am doing further research on that topic tomorrow (I have to leave now, sorry).
Regards, Morten.