C++11 std::thread donnant error: no matching function appel à std::thread::thread

Je suis en essais c++11 fils avec ce code, mais lors de la création du thread, je vais avoir l'erreur no matching function for call to 'std::thread::thread()'.

C'est comme si il y avait quelque chose de mal avec la fonction que je suis en train de donner à std::thread ctr, mais je ne vois pas en quoi c'est mal. Il est inachevées, mais il regarde à droite pour moi:

En-tête:

#ifndef CONNECTION_H
#define CONNECTION_H

#include <thread>
#include <mysql++.h>

class Connection
{
public:
    Connection(std::string mysqlUser, std::string mysqlPassword);
    ~Connection();

private:
    std::string mysqlUser;
    std::string mysqlPassword;
    std::string mysqlIP;
    int mysqlPort;

    mysqlpp::Connection mysqlConnection;
    std::thread connectionThread;

    void threadLoop();
};

#endif //CONNECTION_H

Source:

#include "connection.h"

Connection::Connection(std::string mysqlUser, std::string mysqlPassword)
{
    this->mysqlUser     = mysqlUser;
    this->mysqlPassword = mysqlPassword;
    this->mysqlIP       = "localhost";    //default
    this->mysqlPort     = 3306;           //default

    //Launch thread
    std::thread connectionThread(threadLoop);

}

Connection::~Connection(){
    mysqlConnection.disconnect();
}

void Connection::threadLoop(){
    //Connect to mySQL database
    mysqlConnection = new mysqlpp::Connection(false);

    if(mysqlConnection.connect(NULL, mysqlIP.c_str(), mysqlUser.c_str(), mysqlPassword.c_str(), mysqlPort)){
        std::string consulta = "SELECT * FROM 'Coordinates'";
        mysqlpp::Query query = mysqlConnection.query(consulta);
        mysqlpp::StoreQueryResult res = query.store();
        query.reset();

    }

    while(true){
        //Stuff
    }
}
Veuillez fournir une complète minimale de l'échantillon du programme. À partir de votre description, il doit être dans les 5 à 10 lignes. Voir SSCCE.ORG.
Ne pas std::thread'constructeur s'attendre à une fonction ou à tout le moins une fonction membre statique? Comment peut-il savoir sur quel objet pour appeler Connection::threadLoop?
Le compilateur que vous utilisez?
Je pense que vous devriez vous tourner que dans une réponse.
Vous êtes à la déclaration d'un nouvel objet thread i n de votre constructeur. Je me doute que c'est ce que vous souhaitez.

OriginalL'auteur Roman Rdgz | 2012-09-27