0

所以我正在审查一个测试,我在这里查看这段代码:

#include<iostream>
using namespace std;
namespace acme
{
int map;
/* ** */enum day{one,two};
/* ** */void fun1(day d);
int cout; **
}
void main(){
    acme::map = 1;
    /* ** */void fun2(acme::day d); 
    cout << acme::map << endl;
    using namespace acme;
    map = 2;
    /* ** */void fun3(day d);
    std::cout << map << endl;
}

我的问题是:最后用“**”表示的行是什么?比如,他们是做什么的?我排除了主线中的一条星线,没有任何改变。

4

2 回答 2

0

您注意到的所有以“void”开头的行都是函数声明。

例如。无效函数1(int x);

如果您使用它们,那么您将需要向它们添加函数定义。

例如。

void function1(int x) 
{   
cout<<x<<endl;
}

“枚举”是一种将其参数初始化为整数的数据类型。(阅读它)

于 2013-11-07T07:16:59.753 回答
0
{
int map; // an int named map.
/* ** */enum day{one,two}; // the words one and two that can be used like a type.
/* ** */void fun1(day d); // An empty function.
int cout; // - I have no idea why anyone would do this. Basically it an int named cout. 
}

I think the point of this is just to show how namespace stops things from being global. So you can have an int with the same name if they are in different namespaces.

于 2013-11-07T03:44:55.893 回答