私はat how to pass a bool by referenceを見ましたが、その関数はその内部のboolを返しました。私もhere on stack overflowを見ましたが、コメント者の提案は私の状況を改善しませんでした。bool以外の関数で参照によってbool変数を渡すにはどうすればよいですか?
myTreeNode* search_tree(myTreeNode *test_irater, char p_test, bool &flag)
明らかmyTreeNode*
タイプを返しますので、
私は機能を持っています。私も関数内の値を変更したい変数bool flag
を持っています。私が参照によってブール値を渡すしようとすると、しかし、私はどのように私はブール値を返さずに参照することによってブール値を渡して行くのです
error: invalid initialization of non-const reference of type 'bool&' from an rvalue of type '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 {
test_irater = test_irater->childC;
flag = true;
}
break;
case 'g':
if (test_irater->childG == NULL)
flag = false;
else {
test_irater = test_irater->childG;
flag = true;
}
break;
}
return test_irater;
}
:
test_irater = search_tree(test_irater, p_test, &flag);
このエラーを生成するコードを表示してください。 – jtbandes
コードを編集するために編集しました。 –