小编Nic*_*dey的帖子

如何在非bool函数中通过引用传递bool变量?

我看了如何通过引用传递bool,但该函数返回了它内部的bool.我也在这里查看堆栈溢出,但评论者提出的建议并没有改善我的情况.所以,

我有一个功能:

myTreeNode* search_tree(myTreeNode *test_irater, char p_test, bool &flag)
Run Code Online (Sandbox Code Playgroud)

这显然会返回一种myTreeNode*类型.我也有一个变量,bool flag我想改变函数内的值.但是,当我尝试通过引用传递bool时,我收到错误消息

错误:从'bool*'|类型的右值开始,无效初始化类型为'bool&'的非const引用

如何通过引用传递bool而不返回bool?我正在使用最新版本的CodeBlocks,如果这是相关的.

编辑:代码

myTreeNode* search_tree(myTreeNode *test_irater, char p_test, bool &flag)
{
    switch(p_test) 
    {
    case 'a':
        if (test_irater->childA == NULL)
            flag = false;
        else {
            test_irater = test_irater->childA;
            flag = true;
        }
        break;
    case 't':
        if (test_irater->childT == NULL)
            flag = false;
        else {
            test_irater = test_irater->childT;
            flag = true;
        }
        break;
    case 'c':
        if (test_irater->childC == NULL)
            flag = false;
        else …
Run Code Online (Sandbox Code Playgroud)

c++

3
推荐指数
1
解决办法
9151
查看次数

打印堆栈所有元素的函数?

我想打印字符堆栈的所有元素。这是我的功能:

void print_stack(stack<char> c)
{
     stack<char> a = c;
     for (unsigned int i = 0; i < a.size(); i++) {
          std::cout<<a.top();
          a.pop();
     }
}
Run Code Online (Sandbox Code Playgroud)

目前,它只打印第一个a.size() - 1元素而不是最后一个元素。我很难弄清楚为什么会这样。

c++ stack

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

c++ 函数向文件路径添加额外的“\”?

我有大约 3500 个完整文件路径需要排序(ex. "C:\Users\Nick\Documents\ReadIns\NC_000852.gbk")。我刚刚了解到,C++ 在读取文件路径时无法识别单个反斜杠。我正在读取大约 3500 个文件路径,因此手动更改每个路径会非常繁琐。

我有一个for循环,它找到单个反斜杠并在该索引处插入一个双反斜杠。这:

string line = "C:\Users\Nick\Documents\ReadIns\NC_000852.gbk";
    for (unsigned int i = 0; i < filepath.size(); i++) {
        if(filepath[i] == '\') {
            filepath.insert(i, '\');
        }
    }
Run Code Online (Sandbox Code Playgroud)

然而,c++,特别是 c::b,由于反斜杠字符而无法编译。有没有办法用函数添加额外的反斜杠字符?

我正在从文本文件中读取文件路径,因此它们被读入string filepath变量中,这只是一个测试。

c++ file

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

难以在分隔符处拆分字符串并保留它

我有一个成对读取的字符串,以逗号分隔.但是,我并不总是想用逗号分割,因为输入中并不总是有1个逗号.例如,字符串,

(http://www.wolframalpha.com/input/?i=103%2F30+%3D+4a-3b,+71%2F60+%3D+a+%2B+b
,http://www.wolframalpha.com/input/?i=x%5E2%2B5x%2B6,file:///tmp/foo/bar/p,d,f.pdf)
Run Code Online (Sandbox Code Playgroud)

全部读一行.对于这种情况,我只想在字符串中的,h和no处分开.基本上,在拆分后,字符串应该是:

http://www.wolframalpha.com/input/?i=103%2F30+%3D+4a-3b,+71%2F60+%3D+a+%2B+b

http://www.wolframalpha.com/input/?i=x%5E2%2B5x%2B6

file:///tmp/foo/bar/p,d,f.pdf
Run Code Online (Sandbox Code Playgroud)

在第一个字符串中维护逗号的顺序.(我将摆脱括号).我看过这个堆栈溢出问题,虽然有帮助,但是没有正确拆分这个字符串.这是Java.任何帮助表示赞赏.

java regex string split

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

标签 统计

c++ ×3

file ×1

java ×1

regex ×1

split ×1

stack ×1

string ×1