C++ 类和函数返回类型混淆的实例
我不能这样做:C++ 类和函数返回类型混淆的实例,c++,class,function-prototypes,C++,Class,Function Prototypes,我不能这样做: class A { public: A() { } }; A a1(); 因为a1()看起来像一个函数原型 但我可以做到: class B { public: B(std::string argument) { std::cout << argument; } }; B b1("Text"); B类 { 公众: B(标准::字符串参数) { std::cout就是这样,它被称为最
class A
{
public:
A()
{
}
};
A a1();
因为a1()代码>看起来像一个函数原型
但我可以做到:
class B
{
public:
B(std::string argument)
{
std::cout << argument;
}
};
B b1("Text");
B类
{
公众:
B(标准::字符串参数)
{
std::cout就是这样,它被称为最麻烦的解析。原因是如果a1();
被视为对象声明,您将无法使用该原型声明函数。您希望能够声明函数,对吗
bb1(“Text”);
之所以有效,是因为它不能被视为函数原型,例如,bb1(a())
can and will.这不是一个令人烦恼的解析,但不是最令人烦恼的解析吗?+1我通常不会对一个明显重复的答案投赞成票,但你的第一段很好:)@LightnessRacesinOrbit它的表述方式与大多数不一样,这就是我回答的原因(我最近一直在放一些明显的答案)。这被称为最麻烦的解析,它已经在堆栈溢出上得到了很好的介绍。请参阅链接的副本,以及右侧的“相关”侧栏。