首页 > 试题广场 >

以下代码是哪一句可能导致的编译错误? #include

[单选题]
以下代码是哪一句可能导致的编译错误?
#include <iostream>
using namespace std;
class Test
{
public:
	Test() { cout << "i like zk"; }
	Test(int) { cout << "i like wangyi"; }
	void exe() { cout << "this is my choice"; }
};
int main()
{
	Test a(1);//1
	a.exe();  //2
	Test b(); //3
	b.exe();  //4
	Test c;   //5
	c.exe();  //6
        return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
我就知道不是3就是4  要是问错误发生在哪就选4  要是问哪句导致的就选3  ***吗 兄弟萌
发表于 2021-01-16 10:48:12 回复(0)
//3  b后面跟小括号,会引起歧义,误以为是一个函数,b无法正确构造。
则//4 无法正确调用exe() ,编译错误 。
应为:
Text b;
b.exe();

编辑于 2020-08-05 19:28:39 回复(4)
选项3:是一个函数声明,不会报错。 选项4:b是一个函数不是对象
发表于 2021-03-23 08:22:23 回复(0)
有毒

发表于 2021-05-17 19:35:07 回复(0)
我真是醉了 这题
发表于 2022-04-29 13:26:31 回复(0)
1为啥正确!
发表于 2022-02-09 00:54:04 回复(1)
幽默😅
编辑于 2024-01-03 11:51:36 回复(0)