小编Roa*_*ash的帖子

如何创建一个指向矢量的指针向量

我有一个指向矢量的指针:

vector<double> mv;
mv.push_back(233);
mv.push_back(234);
mv.push_back(654);
vector<double>* new_mv_pt = new vector<double> (3);
new_mv_pt = &mv;    

cout << (*new_mv_pt)[1] << endl;    
Run Code Online (Sandbox Code Playgroud)

如何创建另一个将此指针存储到向量的向量?我正在尝试这个......

    vector<double*> vop = new vector<double> (3);

vop.push_back(*new_mv_pt);

cout << (*vop)[1] << endl;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我正在尝试甚至可能吗?:

c++ pointers vector

5
推荐指数
2
解决办法
510
查看次数

在条件下尝试将字符串转换为双精度

我有一个使用std字符串参数来测试是否有字母字符的函数。最好只测试数字字符,但到目前为止我还没有得到。我只是想让它识别输入中是否没有数字。如果不是,它将循环显示错误消息,直到只有数字为止。在此之后,我尝试使用atof()将字符串转换为double,以便可以在main()中返回它。我得到调试断言失败!运行时的消息,其中说,如果输入数字,则表达式字符串下标超出范围。否则,如果输入了字母,它将继续使用错误消息循环其自身。我得到了下面函数的代码。有人对我做错了什么有任何线索吗?我没主意...

double Bet::betProb(std::string b)
{
    bool alphChar = false;
    double doubleBet;
    for(int i = 0; i < b.size(); i++){
        if(isalpha(b[i])){
            alphChar = true;
        }
    }
    while(alphChar){
        cout << "Error! Bet only with numbers." << endl;
        cin >> b;
        for(int i = 0; i < b.size(); i++){

            if(!isalpha(b[i])){
                alphChar = false;
            }
        }
    }

    string F=b;
    int T=F.size();
    char Change[100];
    for (int a=0;a<=T;a++)
    {
        Change[a]=F[a];
    }

    doubleBet = atof(Change);

    return doubleBet;
}
Run Code Online (Sandbox Code Playgroud)

c++ atof

0
推荐指数
1
解决办法
4567
查看次数

标签 统计

c++ ×2

atof ×1

pointers ×1

vector ×1