永发信息网

问个C++的题目

答案:4  悬赏:40  手机版
解决时间 2021-03-29 14:12
  • 提问者网友:沦陷
  • 2021-03-29 02:18
问个C++的题目
最佳答案
  • 五星知识达人网友:傲气稳了全场
  • 2021-03-29 02:26
问题不知道,也没过编译器尝试。
第一段代码
Test b();
欲调用无参的构造函数Test(){}

应该使用语句Test b;无括号

第二段代码有
条件比对后面是1:"1",那么就是可结果可能是整形1,或者是字符串1,这是两种不同的类型,无法自动将后者字符串转换为前者整形数,编译器不知道该输出何种类型的数据。
全部回答
  • 1楼网友:怙棘
  • 2021-03-29 05:19
struct Test
{
Test(int) {}
Test() {}
void fun() {}
};
void main( void )
{
Test a(1);
a.fun();
Test b;
b.fun();
cout << (true?"1":"1") << endl;
}
  • 2楼网友:执傲
  • 2021-03-29 04:38
46,定义结构错了,里面定义的是函数;
47,没有见过了 A>B?a:b,是这种格式
  • 3楼网友:一袍清酒付
  • 2021-03-29 03:24
46中的错误出在 Test b();如果是要调用结构体的缺省函数,就应该是直接
Test b;就行了 而如果在 b 后面加上了 括号()的话,就应该是定义了一
个函数 函数名称是 b,返回值类型是Test类型。
47中的错误应该是true后面的两个选择的,类型应该是一样的。
我觉得应该是这种结构的重载函数中,没有第一个参数是整形,而第二个参
数是字符串类型的重载形式吧。呵呵。(一般都是重载的两个类型相同的,还有一些特殊的,例如字符型,和整形)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯