如何让两个函数相互调用 C++
Posted
技术标签:
【中文标题】如何让两个函数相互调用 C++【英文标题】:How to have two functions that call each other C++ 【发布时间】:2013-01-30 07:34:51 【问题描述】:我有 2 个这样的函数可以对 if 循环进行混淆:
void funcA(string str)
size_t f = str.find("if");
if(f!=string::npos)
funcB(str); //obfuscate if-loop
void funcB(string str)
//obfuscate if loop
funcA(body_of_if_loop); //to check if there is a nested if-loop
如果我将funcB
放在funcA
之前,则funcA
将无法看到funcB
,反之亦然。
在此不胜感激。
【问题讨论】:
为什么大家都称它为 if 循环?绝对不涉及循环。 @chris 很好,它取代了 for 循环结构,不是吗? 【参考方案1】:你想要的是forward declaration。在你的情况下:
void funcB(string str);
void funcA(string str)
size_t f = str.find("if");
if(f!=string::npos)
funcB(str); //obfuscate if-loop
void funcB(string str)
//obfuscate if loop
funcA(body_of_if_loop); //to check if there is a nested if-loop
【讨论】:
【参考方案2】:forward declaration 可以工作:
void funcB(string str);
void funcA(string str)
size_t f = str.find("if");
if(f!=string::npos)
funcB(str); //obfuscate if-loop
void funcB(string str)
//obfuscate if loop
funcA(body_of_if_loop); //to check if there is a nested if-loop
【讨论】:
以上是关于如何让两个函数相互调用 C++的主要内容,如果未能解决你的问题,请参考以下文章