gpt4 book ai didi

c++ - 在 C++ 中使用命名空间时出现 "does not name a type"错误

转载 作者:行者123 更新时间:2023-12-01 13:19:30 24 4
gpt4 key购买 nike

在下面的代码中编写语句 A::x=5给出错误:

'x' in namespace 'A' does not name a type



我们不能为 x 全局分配一个值吗?多变的?
#include <iostream>

int x = 10;

namespace A
{
int x = 20;
}

A::x=5;

int main()
{
int x = 30;
std::cout << "x = " << x << std::endl;
std::cout << "A::x = " << A::x << std::endl;
std::cout << "::x = " << ::x << std::endl;
}

最佳答案

Can't we assign a value globally for x variable?



你可以。但是你必须把赋值语句放到一个函数中。例如
int main()
{
A::x=5;
int x = 30;
std::cout << "x = " << x << std::endl;
std::cout << "A::x = " << A::x << std::endl;
std::cout << "::x = " << ::x << std::endl;
}

请注意 A::x=5;statement ,但不是 definition (带初始化程序)像 int x = 20; ,它们是不同的东西。

关于c++ - 在 C++ 中使用命名空间时出现 "does not name a type"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62038460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com