Polling Event does not return any value except Device_Added

Hi, Im just new to SDL and writing some codes to get my ps3 controller events, but the poll event loop always returns value with event_device_added once when run console app.
Other event never returns and I dont know why
The code in ControllerReader.cpp

void ControllerReader::ReceiveEvent(SDL_Event *cEvent) {
switch (cEvent->type) {
case SDL_CONTROLLERAXISMOTION: {
if (cEvent->caxis.which == SDL_JoystickInstanceID(SDL_GameControllerGetJoystick(Controller))) {
// we only care for right analog stick
// x axis-motion
if (cEvent->caxis.axis == SDL_CONTROLLER_AXIS_RIGHTX) {
std::cout<<“axis down \n”;
}
}
break;
}
case SDL_CONTROLLERDEVICEADDED: {
std::cout<<“added \n”;
break;
}
case SDL_CONTROLLERDEVICEREMOVED: {
std::cout<<“removed \n”;

  			break;
  		}
}

//SDL_GameControllerClose(Controller);
//SDL_Quit();
}

The code in main.cpp, i tried copy above code directly to main.cpp but it still be

#include “ControllerReader.h”

ControllerReader ps3;

int main( int argc, char *argv[] )
{
bool quit = false;
SDL_Event cEvent;
ps3.Init();
while(!quit) {
while(SDL_PollEvent(&cEvent)) {
ps3.ReceiveEvent(&cEvent);
}
}
//ps3.GetState();
SDL_Quit();
return 0;
}

The init code in ControllerReader

void ControllerReader::Init() {
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_GAMECONTROLLER) < 0) {
printf(“SDL initialization failed. Error: %s\n”, SDL_GetError());
std::cout<<“Init failed \n”;
} else {
std::cout<<“Init done \n”;
}

if (SDL_NumJoysticks() > 0) {
for (int i = 0; i < SDL_NumJoysticks(); ++i) {
Joy = SDL_JoystickOpen(0);
if (Joy) {
std::cout<<“Opened Joy \n”;
} else {
std::cout<<“Cant open Joy \n”;
}
if (SDL_IsGameController(i)) {
Controller = SDL_GameControllerOpen(i);
if (Controller) {
std::cout<<“Controller opened \n”;
break;
} else {
fprintf(stderr, “Could not open gamecontroller %i: %s\n”, i, SDL_GetError());
std::cout<<“Cant open controller \n”;
}
}
}
} else {
std::cout<<“No controller connected \n”;
}
//SDL_GameControllerEventState(SDL_IGNORE);
}