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不能这样输出字符串的.