小编Jac*_*cob的帖子

THREAD ERROR:无效使用非静态成员函数

我试图理解C++中的线程,但我不知道如何解决这个问题.

我想调用两个线程来运行名为"createS"的函数,但是我得到了这个错误:

错误:无效使用非静态成员函数

我已经阅读了有关此主题的其他问题,但我真的不明白如何使我的代码有效.

有人可以解释一下我做错了什么并尝试帮助我找到解决方案吗?

test_class.cpp

void test_class::generateS(){

     map1=new multimap<double,vector<int>>;
     map2=new multimap<double,vector<int>>;

     thread thread_1( createS, 0, nCells/2, map1 ); 
     thread thread_2( createS, nCells/2, nCells, map2);

     thread_1.join();
     thread_2.join();
}

void test_class::createS(int startP, int endP, Costs *mapPointer){
     //i do some stuff
}
Run Code Online (Sandbox Code Playgroud)

test_class.h

void createS(int start, int end, Costs *mapPointer);
void generateS();
Run Code Online (Sandbox Code Playgroud)

c++ multithreading compiler-errors non-static

7
推荐指数
1
解决办法
1万
查看次数

AWS RDS中max_connections的值

有谁知道我在哪里可以找到AWS RDS中max_connections的最高价值?我主要对运行MySQL的db.t2实例感兴趣.我找不到任何适当的链接.谢谢!!

mysql database rds amazon-web-services

6
推荐指数
2
解决办法
5789
查看次数

C++字符串数组的动态向量

我想创建一个动态矢量,每个矢量元素都是一个字符串数组.

我想到的数据结构是这样的:

VECTOR: 
[0] = [str1, str2, str3]
[1] = [str1, str2, str3]
[2] = [str1, str2, str3]
Run Code Online (Sandbox Code Playgroud)

我正确地将值插入res变量但是我的代码无法正常工作:打印循环执行4次,但每次只打印LAST元素.我相信问题可能是:1)我没有在向量中正确推送字符串数组; 2)当我想打印它时,我没有正确管理向量和所有字符串的迭代.

这是我的代码:

std::vector<std::string*> DatabaseConnector::ExecuteQuery(std::string query, std::vector <std::string> columns)
{
    std::vector<std::string*> results;
    std::string res[columns.size() + 1]; // last value = '\0' to signal end of array

    db_params.res = db_params.stmt->executeQuery(query);
    while (db_params.res->next()) // Access column data by alias or column name
    {
        int i = 0;
        for(std::string s : columns)
            res[i++] = db_params.res->getString(s);

        res[i] = "\0";

        results.push_back(res);
    }

    for(auto el :results)
    {
        int …
Run Code Online (Sandbox Code Playgroud)

c++ stdstring stdvector c++11

2
推荐指数
1
解决办法
604
查看次数