I am using Code::Blocks nightly build 7789(update from stable build 10.05). FYI, mingw gcc -version gcc (tdm-1) 4.6.1,gdb 7.3
The code completion always fails in such cases: :'(
Case 1:
//--------------MyException.h-----------------
#include <string>
class MyException
{
public:
virtual std::string getwhat() = 0;
};
class MyDivideZero : public MyException{
public:
std::string getwhat()
{
return "Divide By Zero.";
}
};
class MyTooLarge : public MyException{
public:
std::string getwhat()
{
return "Too Large Number.";
}
};
//-------------------------main.cpp-----------------
#include "MyException.h"
#include <iostream>
using namespace std;
int main(){
try{
cout<<"It's a test."<<endl;
}catch(MyException& e)
{
cout<<e.getwhat()<<"\n"; // code completion fails showing getwhat() method. After i write 'e.' ,it shows nothing.
}
}
Case 2:
//-----------------------StrInt.h-----------------
#include <iostream>
#include <string>
class StrInt{
std::string _num;
public:
StrInt(const std::string& a = "0");
};
//--------------------StrInt.cpp-----------------
#include "StrInt.h"
StrInt::StrInt(const std::string& a) : _num(a)
{
if (a.length()==0) ; // code completion fails showing length() method. After i write 'e.' ,it shows nothing.
}