c语言题目, 请指出如下程序中的错误之处: C语言高手请进! 指出下程序中的错误
作者&投稿:溥莘 (若有异议请与网页底部的电邮联系)
错误在于,
1.
friend int A( );
在一个类中声明了一个与类名相同的友元函数(A()),
结果会导致友元函数被当成类的构造函数,
编译器会报 “构造函数不能指定返回类型”的错误。
2.
static friend int f( );
函数f()不能同时声明为static 函数和友元函数,
不然会报“储存类说明符在友元函数声明中无效”的错误。
函数被声明为友元函数后,
也就有了extern的属性,
而extern 和static 可以说是互相对立的,
所以如果先什么为友元函数后再声明函数为static函数,
也会报错—— “‘static’和就说明符‘extern’冲突”
in a word,static 和 friend 不能同时存在于一个函数
3.
反驳一下一楼观点。
一楼观点有误。
友元函数(g)可以直接访问对象的私有成员(a.a)。
就酱紫,楼主有什么问题再追问嗯,
望采纳(●'◡'●)~
可以这样直接访问私有成员吗,要通过共有接口吧
c语言问题,请指出以下程序的错误之处~
1.
main( )
{ int n,m=10,s[10];
for (n=1;n<=m;n++)
scanf("%d",&s[n]);
for (n=1;n<=10;n++)
printf("%d",s[n]);
}
2.错的太多了.
int 是整形 所以 char str[].....
float .....
输出:C不能这样输出字符串的.