你在这一行有错误
pthread_create(&t[i], NULL, &Drone::run_helper, &drones[i]);
你传递指针的地址( Drone** )并投向指针( Drone* )。所以改成它
Drone**
Drone*
pthread_create(&t[i], NULL, &Drone::run_helper, (void*)(drones[i]));