C++中怎么调用函数?
#include<iostream>usingnamespacestd;void*v;void*hello(){cout<<"helloworld!"<<endl;ret...
#include <iostream>
using namespace std;
void *v;
void *hello(){
cout << "hello world!" << endl;
return v;
}
void main(){
void *p;
p=hello();
p;//这里为什么样不输入hello world呀?
}
详细帮我讲下关于函数调用问题,谢谢!! 展开
using namespace std;
void *v;
void *hello(){
cout << "hello world!" << endl;
return v;
}
void main(){
void *p;
p=hello();
p;//这里为什么样不输入hello world呀?
}
详细帮我讲下关于函数调用问题,谢谢!! 展开
11个回答
展开全部
必须先创建一个bookmanger副本,然后用
bookmanger bm;
bm.add()
或者
bookmanger *bm = new bookmanger();
bookmanger->add()调用。
注:这个要看类的名称的,调用时就像结构体一样,先用类引申一个对象就像Pid pid ; 调用时用对象名称,函数名就行了。
扩展资料:
如果想调用重载的C++函数,则须封装单独的接口共C调用。
// C++ Code
void foo( int x );
void foo( float x );
extern "C" void foo_i( int x )
foo( x );
extern "C" void foo_f( float x )
foo( x );
则C中可这样调用
// C Code
void foo_i( int x );
void foo_f( float x );
void ccc( int x1, float x2 )
foo_i( x1 );
foo_f( x2 );
// ...
展开全部
void *p;它定义的不是指向void函数的指针,而是无类型指针
在C语言中规定,一个函数总是占用一段连续的内存区, 而函数名就是该函数所占内存区的首地址。 我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量, 使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。 我们把这种指向函数的指针变量称为“函数指针变量”。
函数指针变量定义的一般形式为:
类型说明符 (*指针变量名)();
其中“类型说明符”表示被指函数的返回值的类型。“(* 指针变量名)”表示“*”后面的变量是定义的指针变量。 最后的空括号表示指针变量所指的是一个函数。
所以你要改成
#include <iostream>
using namespace std;
void *v;
void *hello(){
cout << "hello world!" << endl;
return v;
}
void main(){
void *( *p)();
p=hello;
p();//这里为什么样不输入hello world呀?
}
我很疑惑,hello函数为什么要返回一个全局无类型指针变量
其实则样就可以
#include <iostream>
using namespace std;
void hello(){
cout << "hello world!" << endl;
}
int main(){
hello();
return 0;
}
不过如果你用的是Dev-c++就不行,它不支持void类型函数
还有不会的可以百度上交谈
在C语言中规定,一个函数总是占用一段连续的内存区, 而函数名就是该函数所占内存区的首地址。 我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量, 使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。 我们把这种指向函数的指针变量称为“函数指针变量”。
函数指针变量定义的一般形式为:
类型说明符 (*指针变量名)();
其中“类型说明符”表示被指函数的返回值的类型。“(* 指针变量名)”表示“*”后面的变量是定义的指针变量。 最后的空括号表示指针变量所指的是一个函数。
所以你要改成
#include <iostream>
using namespace std;
void *v;
void *hello(){
cout << "hello world!" << endl;
return v;
}
void main(){
void *( *p)();
p=hello;
p();//这里为什么样不输入hello world呀?
}
我很疑惑,hello函数为什么要返回一个全局无类型指针变量
其实则样就可以
#include <iostream>
using namespace std;
void hello(){
cout << "hello world!" << endl;
}
int main(){
hello();
return 0;
}
不过如果你用的是Dev-c++就不行,它不支持void类型函数
还有不会的可以百度上交谈
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是系统的类的函数,需要在前面加上:: ,
如果是你使用的类中的函数,在类中使用时,直接调用,函数名(实参) ,
其它类中使用,先声明实例, 类名 dlg, dlg.函数().
如果不在类中,只是当前文档中使用,直接函数名就OK。。。
如果是你使用的类中的函数,在类中使用时,直接调用,函数名(实参) ,
其它类中使用,先声明实例, 类名 dlg, dlg.函数().
如果不在类中,只是当前文档中使用,直接函数名就OK。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照函数定义去调用就可以了。
实例:#include <iostream>
using namespace std;
void printstar(void)
{
cout<<"**********star****************"<<endl;
}
void print_message(void)
{
cout<<"Hello World!"<<endl;
}
int main(void)
{
printstar();//调用
print_message();//调用
printstar();//调用
return 0;
}
实例:#include <iostream>
using namespace std;
void printstar(void)
{
cout<<"**********star****************"<<endl;
}
void print_message(void)
{
cout<<"Hello World!"<<endl;
}
int main(void)
{
printstar();//调用
print_message();//调用
printstar();//调用
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
void *hello(){
cout << "hello world!" << endl;
return 0;
}
int main(){
hello();
return 0;
}
hello这个函数可以直接输入,没有必要将它再赋给一个指针P,而且你定义的那个指针v我也不知道它是干嘛用的,类型还是void类型,很奇怪啊,void一般是定义函数类型,而不是定义变量类型的
using namespace std;
void *hello(){
cout << "hello world!" << endl;
return 0;
}
int main(){
hello();
return 0;
}
hello这个函数可以直接输入,没有必要将它再赋给一个指针P,而且你定义的那个指针v我也不知道它是干嘛用的,类型还是void类型,很奇怪啊,void一般是定义函数类型,而不是定义变量类型的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询