【发布时间】:2016-06-23 14:25:14
【问题描述】:
我发现关于“使用”关键字的一个令人困惑的事情。如果我确实使用了一个类或结构,那么就没有必要在同一个命名空间中使用以该类或结构作为参数的函数。就像下面的代码一样。
namespace A
{
struct testData
{
int x;
};
int testFunc(testData data)
{
return data.x;
}
}
#include <cstdio>;
using A::testData;
int main()
{
testData test = { 1 };
printf("%d", testFunc(test));
return 0;
}
我认为我不应该被允许使用 testFunc(),因为我只对 testData 使用“using”关键字。但是,这些代码可以正常工作。
你能告诉我为什么会这样吗?
【问题讨论】:
-
@BoBTFish 我明白了。非常感谢。
标签: c++