帮我看看为什么不能编译?

#include
using namespace std;

void show(char name[],bool g=true);

int main()
{
show("huangmeiling",false);
show("lijingming");
}
void show(char name[],bool g/*=true*/);
{
cout<<"我叫"<<name<<",是个"<<(g?"帅哥":"美女")<<endl;
}

include

void show(char name[],bool g/*=true*/);

去掉最后一行的 ;

少了个return 0;。。。。。。。。。。。。。。

我用VS2005调试了,下面是调试过程中的截图:
图片说明
图片说明
图片说明
不用管截图信息,解决方案是:
1.第一行的#include后面添加
2.void show(char name[],bool g/*=true*/);后面的分号去掉.
最终通过编译的代码如下

 #include <iostream>
using namespace std;
void show(char name[],bool g=true);
int main()
{
    show("huangmeiling",false);
    show("lijingming");
}
void show(char name[],bool g/*=true*/)
{
    cout<<"我叫"<<name<<",是个"<<(g?"帅哥":"美女")<<endl;
}

可以编译通过啊!!!!!!图片

这是低级错误啊,,,太不小心了