草庐IT

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++ - 将类视为一流对象

我正在阅读GoF书,在原型(prototype)部分的开头我读到了:ThisbenefitappliesprimarilytolanguageslikeC++thatdon'ttreatclassesasfirstclassobjects.我从未使用过C++,但我对OO编程非常了解,但是,这对我来说没有任何意义。任何人都可以对此进行详细说明吗(如果有帮助,我已经使用\使用:C,Python,Java,SQL。) 最佳答案 要使一个类成为第一类对象,该语言需要支持做一些事情,例如允许函数将类(而不是实例)作为参数,能够在容器中保存类,

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

c++ - 成员函数的部分模板特化 : "prototype does not match"

我正在尝试部分特化一个非模板化类的模板化成员函数:#includetemplateclassFoo{};structBar{templateintfct(T);};templateintBar::fct(Foo){}intmain(){Barbar;Fooarg;std::cout我收到以下错误:c.cc:14:error:prototypefor‘intBar::fct(Foo)’doesnotmatchanyinclass‘Bar’c.cc:9:error:candidateis:templateintBar::fct(T)如何修复编译器错误? 最佳答案