hexiuwei90
菜鸟向前冲hxw
采纳率100%
2016-03-11 13:32 阅读 2.7k

本地函数定义非法;C++

#include
#include
using namesapce std;
int main()
{
bool AcontainsB(char * A, char * B){
int have = 0;
while (*B){
have |= 1 << (*(B++) - 'A');
}
while (*A){
if ((have&(1 << *(A++) - 'A')) == 0){
return false;
}
}
return true;
}
char A[] = { "ABDCK" };
char B[] = {"ABC"};
bool res;
res = AcontainsB( A , B);
cout <<res << endl;
system("pause");
return 0;

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    cxsmarkchan cxsmarkchan 2016-03-11 13:37

    C++不支持嵌套函数,试试这么写:

    //注意添上include和using namespace
    bool AcontainsB(char * A, char * B){
    int have = 0;
    while (*B){
    have |= 1 << (*(B++) - 'A');
    }
    while (*A){
    if ((have&(1 << *(A++) - 'A')) == 0){
    return false;
    }
    }
    return true;
    }
    
    int main()
    {
    char A[] = { "ABDCK" };
    char B[] = {"ABC"};
    bool res;
    res = AcontainsB( A , B);
    cout <<res << endl;
    system("pause");
    return 0;
    }
    
    点赞 评论 复制链接分享
  • hexiuwei90 菜鸟向前冲hxw 2016-03-11 13:47

    谢谢!是这么回事儿,自定义函数不能放在主函数内。

    点赞 评论 复制链接分享

相关推荐