这个C ++代码有什么问题?
我收到一条错误消息:在;
之前应该有一个z
,这是不正确的。我不理解的唯一部分是第2行的目的。
#include <iostream>
using namespace std;
int subtraction(int a, int b)
{
int r;
r=a-b;
return r;
}
int main()
{
int z;
z = subtraction (5,9);
cout z;
}
提前谢谢。
答案 0 :(得分:3)
using namespace std;
表示您可以稍后编写cout
而不是std::cout
。它以牺牲总名称空间污染为代价来节省打字。
编译错误可以通过编写cout << z;
另外,请从main
返回一个值。
答案 1 :(得分:1)
要开始解释它的作用,了解命名空间的作用非常重要。命名空间是划分的逻辑代码单元,您可以创建自己的命名空间或使用其他命名空间。使用命名空间的好处是让您的程序在逻辑上将代码与功能分开。这与类非常相似,但您不需要像类那样启动名称空间。在Java中,这与包类似。要在命名空间中使用函数,您需要使用命名空间标识符,后跟要调用的函数。这将在您想要使用的命名空间作用域中调用正确的函数。创建命名空间的示例如下:
namespace connection
{
int create_connection();
int close_connection();
//ect.......
}
然后在代码中稍后要调用create_connection时,需要按以下方式执行:
connection::create_connection();
至于你的答案,你可以防止在这种情况下连接或在你的案例std中输入命名空间标识符。您可以使用using-directive将整个命名空间引入代码段。这将允许您调用该命名空间中的函数,而无需使用后跟范围指示符“::”的命名空间。
以下语法如下:
using namespace connection:
或在你的情况下
using namespace std;
因此,通过使用std执行此操作,您将授予对std命名空间的访问权限,该命名空间包括C ++ I / O对象cout和cin以便自由使用,而无需首先使用命名空间和作用域运算符。虽然更好的做法是将范围限制为您想要实际使用的命名空间成员。在大型程序中,这将是更清洁的编码原因以及避免几个问题。要仅引入命名空间的特定成员,例如仅引入std :: cin和std :: cout,请执行以下操作:
using std::cin;
using std::cout;
答案 2 :(得分:0)
使用命名空间
else
做什么?
它告诉编译器要查找标识符的类/名称空间。您要么在文件的开头使用std;
,要么必须将它放在每个函数的前面属于它。
这个C ++代码有什么问题?
使用using namespace std;
的语法是:
std::cout
变量std::cout << source;
在source
流的operator <<
的帮助下插入,将其打印到标准输出,即计算机监视器。
std::cout
&#34;标签&#34; 标准库的功能成员。这是一种技术(使用解析运算符std
)解决(使用解析运算符::
)属于标准库的成员(可能)名称与具有相似(相同)名称的函数冲突并减少范围搜索。 std
被称为命名空间,因此using namespace std;
有点自我解释。