函数无法编译
❶ 关于一个java中成员函数的代码,无法编译,求解决答案,哪里出错。
你放置 p1.jisuan(); 的地方,是类初始化的区域,请把放到一个方法当中,或者把Person p1=new Person();
p1.jisuan();
放入static 代码化
❷ 这个函数定义为什么不能过编译
定义数组的时候不能用arr[n],中括号里面要是一个常数。题目中应该会告诉你数字最多有几个,定义的时候用最大数。在函数中循环时再用n
❸ 这个函数为什么不能被编译
vvoidbutler,多了个v,不是vvoid,是void
还有最开始的声明voidbutler(void);,void与butler之间有个空格
后面的vvoidbutler(void);的那个分号不需要
#include<stdio.h>
voidbutler(void);
intmain(void)
{
printf(“Iwillsummonthebutlerfunction. ”);
butler();
printf(“Yes.BringmesometeaandwriteableCD-ROMS. “);
return0;
}
voidbutler(void)
{
printf(“Yourang,sir? “);
}
❹ c语言的gets函数编译不成功阿,很短的程序
C语言的gets函数一般包含在stdio.h头文件里,如果没有包含比头文件那可能会有问题。第二种情况包含了还出问题,说明你的编译器已经不支持这个函数了,这个函数非常不安全,容易造成溢出,建议换成fgets函数。
函数原型:
char *fgets(char *buf, int bufsize, FILE *fp);
参数解释:
参数一是输入字符串存放地址,
参数二是存放地址最大容量,
参数三是从哪里输入,可以从文件也可从输入设备,如果从输入设备输入这个参数可以写成stdin,如果从文件输入此参数为文件指针。
返回值:
输入成功返回参数一,失败返回NULL.
补充知识:
为什么gets不让用呢,我们可以看它的原型:char *gets(char *buf);
这个函数可以一直输入知道换行或者EOF,它并不考虑buf空间是否足够大能放下,这就容易导致溢出,有些别有用心的人就会利用这个漏洞去攻击你的程序。
而fgets可以通过第二参数保证不会读入超过buf空间的字符。
❺ 求助,execve函数无法编译
nt execve( const char *pathname, char *const argv[], char *const envp []); 函数说明 execve()用来执行参数filename字符串所代表的文件路径,第二个参数系利用数组指针来传递给执行文件,最后一个参数则为传递给执行文件的新环境变量数组
❻ C++编译,编写的函数放到不同的文件为什么会无法编译
调用函数之前,编译器必须看到函数声明或者函数定义。
将函数放到不同实现文件,一般的做法是在一个头文件中包含该函数声明,在实现文件中包含该函数的定义。
❼ C语言中的函数不可以单独进行编译。这句话为什么不对
C语言中的函数可以单独进行编译,编译为目标文件,要链接成可执行文件时,需要主函数以及库。
❽ C++ 模板函数无法编译
模板定义的函数或者类,并非实体
需要将模板参数带入后才是真正意义上的类或者函数
编译器大多不支持分离编译,即定义的模板类与 调用它的代码放在不同文件
解决方式: 将h文件中的代码拷至cpp文件中即可
❾ VB6 中函数声明错误编译不通过,如何解决
语法没错误,不应该在不同语言条件下就不成立,VB不会有这种问题。可能的问题更多是你在繁体中文系统中代码中存在一些编译器不认识的中文字符
❿ 以下代码出现关于重载函数的错误无法编译,请问我要如何修改呢
#include<iostream>
usingnamespacestd;
classbox
{
private:
intheight,width,depth;
public:
//box();最简单的,注释掉这个就可以了,因为下面的构造函数包含了无参数格式
box(intht=2,intwd=3,intdp=4)
{
height=ht;
width=wd;
depth=dp;
}
~box(){}//;这里需要函数体
intvolume()
{
returnheight*width*depth;
}
};
intmain()
{
boxthisbox(3,4,5);
boxotherbox;
otherbox=thisbox;
cout<<otherbox.volume()<<endl;
return0;
}
对比代码并参考注释。