草庐IT

Wmissing-prototypes

全部标签

C++类原型(prototype)冲突

鉴于以下类位于两个单独的头文件中并且可以以任何顺序出现://TestB.hclassTestB;//Forwarddeclarationforalateroperator=inacentralisedheaderclassTestA{constTestA&operator=(constTestB);//definedinTest.h};和://TestA.hclassTestA;//Forwarddeclarationforalateroperator=inacentralisedheaerclassTestB{constTestB&operator=(constTestA);//de

c++ - 函数原型(prototype)中的不同参数名称

我发现一个程序在函数原型(prototype)设计和声明中使用了不同的参数,所以我做了一个基本程序。#includeusingnamespacestd;voidadd(inta,intb);intmain(){add(3,4);}voidadd(intc,intd){inte=c+d;cout我运行这个程序,它运行良好。这是否意味着在“函数原型(prototype)设计”和“函数声明”中不需要相同的参数名称? 最佳答案 是的,声明和定义中使用的参数名称不必相同。相反,参数的类型(和顺序)应该是相同的。事实上,参数名称不是必需的,尤其

c++ - 在 C++ 中调用函数是不明确的。候选函数是原型(prototype)和函数本身

我正在完成StanfordCS106BC++作业,但作业存在“语义问题”。编译器似乎无法推断调用是针对函数还是函数原型(prototype)。我不明白为什么会调用原型(prototype)。我怎样才能做到调用函数而不是原型(prototype)?我收到的错误消息是“调用‘humansTurn’不明确”。错误消息与页面底部humanTurn(Lexicon,Lexicon)函数内的humanTurn(Lexicon,Lexicon)函数的调用有关。该函数的原型(prototype)在主函数之上。如有任何帮助,我们将不胜感激。亲切的问候,梅胡尔/**File:Boggle.cpp*----

c++ - 将函数分配给 std::function 类型时调用哪个函数原型(prototype)(以及如何调用)?

我有密码voidprints_one(){coutfoo;foo=prints_one;foo();return0;}它按预期工作;它打印“一个”。我不知道在赋值中调用了哪个赋值运算符原型(prototype)以及如何调用。看cppreference,好像就是这个函数templatefunction&operator=(Fn&&fn);但如果这是被调用的原型(prototype),我不明白函数如何绑定(bind)到右值引用。谢谢!更新:谢谢大家,我会阅读通用引用资料。关于40two的回答;此代码打印它是一个右值引用:templateclassFoo{public:Foo(){}Foo&

c++ - 如果我不将返回值放入其原型(prototype)返回值的函数中怎么办

这个问题在这里已经有了答案:HowdoC++progsgettheirreturnvalue,whenareturnisnotspecifiedinthefunction?(6个答案)关闭9年前。我刚刚花了3个小时,可能更多,试图找到一个错误、段错误或bad_allow,这取决于我修改代码的方式,以了解是什么对象弄乱了堆栈或内存:我把我所有的对象有疑问……我屠杀了类(class)……(尽管如此,结果证明这是好的,因为这些类(class)最终表明自己毫无用处:-))……但是,事实上,真正的错误很简单:我没有在应该返回值的函数中编写return语句(在我的例子中,我需要返回一个std::v

c++ - 如何使用具有默认值的参数制作函数原型(prototype)?

A有一个原型(prototype)为的函数:voidarryprnt(int[],string,int,string,string);还有一个定义:voidarryprnt(int[]a,stringintro,intlen,stringsep=",",stringend="."){//stuff}我这样调用它:arryprnt(jimmy,"PSEUDOJIMMY:",15);...当我调用arryprnt时,我收到一个编译器错误,说我使用的参数太少,这是基于原型(prototype)所说的。“好吧,”我在想,“编译器不知道arryprnt的一些参数有默认值。我只是将参数从定义中复制

c++ - 用 C++ 编写原型(prototype)构造函数

我正在使用二次表达式,其中y=ax^2+bx+c和a,b,c是常量,x是变量。这是我的类(class):classquadratic{public:doubleevaluate(constdoublex);voidgetCoefficients(double&A,double&B,double&C);voidsetCoefficients(constdoubleA,constdoubleB,constdoubleC);private:doublea;doubleb;doublec;};我要为该类创建两个构造函数,以便以下是合法的quadraticy1=quadratic(1.0,-5.

c++ - 如何编写由函数模板化的原型(prototype)转换?

我想通过编写一个由函数指针模板化的原型(prototype)转换来重用代码:templatestructapply_func:proto::callable{//Dosomethingwithfunc};但是,函数本身是多态的,所以我不想指定它的确切签名。我希望我的代码看起来像这样的简化版本(出于技术原因我正在使用外部转换,我认为这与我当前的问题无关-没有它们我无法使递归工作):templateRplus_func(A0lhs,A1rhs){returnlhs+rhs;}templateRminus_func(A0lhs,A1rhs){returnlhs-rhs;}structmy_g

c++ - 如何从汇编代码中找出函数原型(prototype)?

我有一些汇编代码,我想找出调用函数的原型(prototype),以便我可以从C++代码中调用所有函数。我真正想做的是将一个dll注入(inject)到正在运行的进程中,并从我的dll中调用正在运行的进程的函数。现在我已经成功注入(inject)了我的dll但不知道如何进行“调用”。我是新手,对汇编代码了解不多。我的dll是用visualc++2012编写的。这是运行过程的代码:CPUDisasmAddressHexdumpCommandComments6013BE24/$53PUSHEBX6013BE25|.8B1D10461860MOVEBX,DWORDPTRDS:[60184610

c++ - VC++2010 自动生成方法 stub 或原型(prototype)

我是C++和VisualStudio的新手,来自Java和Eclipse;假设我为一个类编写了一个新方法。有没有捷径或一些快速的方法来自动将方法原型(prototype)添加到header中的类定义?同样,如果我在header中添加一个新的方法原型(prototype),是否有在实现中生成方法stub的快捷方式? 最佳答案 不知道VS2010有没有这个功能,之前的版本没有。但是这个问题可以通过第3方扩展来解决。VisualAssistX具有命令“创建声明”和“创建实现”。 关于c++-V