不能将java参数引用传递 int3从int (cdecl *)(int,int)转化为int *该怎么改正

int (*f)(int,int) int (*f[3])(int) int f(int x,int y) int *f(int,int)的区别_百度知道
int (*f)(int,int) int (*f[3])(int) int f(int x,int y) int *f(int,int)的区别
我有更好的答案
int)——f是个指针。int *f(int,int)——f是个函数,它有两个int型形式参数,int y)——f是个函数,数组的每个元素都是指针。int f(int x,它有两个int型形式参数,返回int值,指向一个具有两个int形式参数。int (*f[3])(int)——f是个数组、返回int值的函数,这些指针是指向具有一个int形式参数、返回int值的函数的,返回指向int值的指针int (*f)(int
采纳率:75%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。请稍等 ...
采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
不能将函数 模板“void selectionSort(T [],int)”用作函数参数
分别定义如下:
template&typename T&
void SortTime( string sortName,void(*sort)(T[],int), T arr[],int n)
clock_t startTime = clock();
sort(arr ,n);
clock_t endTime = clock();
assert( isSorted(arr , n));
cout&&sortName && " :" &&double(endTime-startTime) /CLOCKS_PER_SEC &&" s" &&
-----------------------------------------------------------------------------------------------------
template&typename T&
void selectionSort(T arr[], int n){
for(int i = 0 ; i & i ++){
int minIndex =
for( int j = i + 1 ; j & j ++ )
if( arr[j] & arr[minIndex] )
minIndex =
swap( arr[i] , arr[minIndex] );
调用如下:
SortHelper::SortTime("Selection Sort", selectionSort,arr,n);报错:1&c:\algorithm\selectionsort\selectionsort\main.cpp(28): error C2896: “void SortHelper::SortTime(std::string,void (__cdecl *)(T [],int),T [],int)”: 不能将函数 模板“void selectionSort(T [],int)”用作函数参数1&
c:\algorithm\selectionsort\selectionsort\main.cpp(8) : 参见“selectionSort”的声明1&c:\algorithm\selectionsort\selectionsort\main.cpp(28): error C2784: “void SortHelper::SortTime(std::string,void (__cdecl *)(T [],int),T [],int)”: 未能从“重载函数类型”为“重载函数类型”推导 模板 参数请问这个该如何解决 多谢 !
已采纳回答
这里需要的是一个函数名而不是一个函数模板名,即显示实例化函数模板
楼上正解。由于VS编译器不是标准的C++实现,所以一些地方会和课程代码有出入。建议加入课程官方群,群公告中对一些这类地方有提示 :-)
加入了算法2群,并没有在群公告里找到对应关于VS编译环境需要特别注意的地方
抱歉,之前只有一个群。刚刚在二群也添加了:)
非常感谢 遇到了同样的问题~~~~
时长13小时35分钟
评分10.0分
ACM亚洲区获奖者亲授算法面试基础,附完整Java代码,帮你梳理算法思路,培养算法思维
全栈工程师
创业者,全栈工程师,持续学习者。对技术开发,产品设计、前后端,ios,html5,智能算法等领域均有接触;拥有多款独立App作品;对一切可编程的东西有浓厚兴趣,对游戏编程格外感兴趣。相信编程改变一切。
Copyright (C) 2018 imooc.com All Rights Reserved | 京ICP备 号-11C/C++的参数压栈顺序
时间: 11:54:19
&&&& 阅读:295
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&  当高级语言编写的程序被编译成被计算机可以识别的语言后,就会存在一个问题即是如何传递参数 --栈(FIFO)。该过程是:
  1、调用者把参数入栈
  2、调动函数
  3、函数去读取栈中数据,作为参数,并进行计算
  4、函数结束后,调用者、或者函数本身修改栈,使栈恢复成函数调用之前(因为很多函数共用一个堆栈)
又称为pascal调用约定
C++系列的C/C++编译器中,默认用PASCAL宏来声明这个调用约定,类似的宏还有WINAPI和CALLBACK。
函数本身清理堆栈
从右到左压栈
函数名自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸(所有参数的总共大小),eg:&int
__stdcall&function(int a,int b)
&==&&&_function@8
调用者清理堆栈
从右到左压栈
是C/C++默认的调动方式
函数名仅仅在前面加下划线, eg &int __cedecl function(int a,
int b) &==& &_function
__fastcall
函数本身清理堆栈
第一和第二个DWORD参数通过ECX和EDX传递(从左到右),其它的参数从右到左压栈
函数名修改规则如__stdcall
函数名的规则是在函数名前面与后面都加上“@”,然后再在后面加上所有的参数的字节数, eg &
&@function@8
__thiscall
thiscall,不是关键字
它是C++类成员函数缺省的调用约定
参数从右向左入栈
如果参数个数确定,this指针通过ecx传递给被调用者;如果参数个数不确定,this指针在所有参数压栈后被压入堆栈。
对参数个数不定的,调用者清理堆栈,否则函数自己清理堆栈
编译器不会给这种函数增加初始化和清理代码
不能用return返回返回值,只能用插入汇编返回结果
一般用于实模式驱动程序设计
    nake,没测试过。
  函数调用约定导致的常见问题: 
函数原型声明和函数体定义不一致
DLL导入函数时声明了不同的函数约定
在dll中声明了一种如下的函数:__declspec(dllexport) int func(int a,int b);
//注意,这里没有stdcall,使用的是cdecl
使用时代码为:
typedef int (*WINAPI DLLFUNC)func(int a,int b);
// WINAPI指的是stdcall调用约定
hLib = LoadLibrary(...);
DLLFUNC func = (DLLFUNC)GetProcAddress(...)    //这里修改了调用约定
result = func(1,2);//导致错误
上述代码将会导致堆栈被破坏。标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://www.cnblogs.com/wang-can/p/3636699.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!error C2440: “=”: 无法从“int (__cdecl *)(void)”转换为“int”_百度知道
error C2440: “=”: 无法从“int (__cdecl *)(void)”转换为“int”
#include &iostream&
#include &string&
class student{
student (){
void set();
void disp();
void add...
我有更好的答案
num = 0 avg=a[4].avg():int student::sum = 0;int student:;改为下面:avg=a[4].protected:};加上下面两行
采纳率:31%
avg=a[4].avg
修改为avg=a[4].avg()因为a[4]是个对象,a[4]的avg是它的成员函数不是成员变量
#include&iostream& #include&string& class Student{ public: void get_value() {*(你的se是什么类型)cin&&num&&name&&se;} }
a[4].avg是student的成员函数,怎么能给main中的int变量avg赋值呢?
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 python int 参数 的文章

 

随机推荐