所以我正在审核测试,我在这里查看这段代码:
#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;
}
我的问题是:最后用“**”表示的行是什么?比如,他们做了什么?我在main中排除了一个已加星标的行,没有任何变化。
答案 0 :(得分: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.
}
我认为这一点只是为了说明命名空间如何阻止事物变得全球化。因此,如果它们位于不同的名称空间中,则可以使用相同名称的int。
答案 1 :(得分:0)
您注意到以“void”开头的所有行都是函数声明。
例如。 void function1(int x);
如果你使用它们,那么你需要为它们添加函数定义。
例如。
void function1(int x)
{
cout<<x<<endl;
}
“enum”是一种将其参数初始化为整数的数据类型。 (阅读它)