草庐IT

non-void

全部标签

c++ - 评估为 "void..."的非类型参数包不是非法的吗?

gcc-4.8接受这段代码,但它不是错误的,因为非类型参数包等同于void...这是非法的吗?template::value>::type...>voidtest(T){}我也用clang-3.5尝试过,它也接受它。这是编译器错误,还是我误解了什么?完整测试代码如下,使用非类型空参数包来简化enable_if。这与FlamingDangerzone'sRemasteredenable_if中的几乎相同除非替换后包变为void...。#includetemplateusingenable_if_t=typenamestd::enable_if::type;template>...>voi

c++ - 非类型模板参数可以是 "void*"类型吗?

Yakk-AdamNevraumontsaid:Non-typetemplateparametersoftypevoid*arenotallowedinatleastsomeversionsofthestandard.这是真的吗?如果为真,在哪些版本的标准中不允许类型为void*的非类型模板参数?(注意:如acomment回答anothercomment,这是关于非类型模板参数,不是模板类型参数,可以是任何有效的type-id[temp.arg.type],包括void*。 最佳答案 长话短说void*类型的模板参数自C++20起有

c++ - 无法使用统一初始化复制 std::vector<std::function<void ()>>。这个对吗?

以下代码无法在GCC4.7.2或Clang3.2中编译:#include#includeintmain(){std::vector>a;std::vector>b{a};}问题是编译器将尝试使用initializer_list创建b,而显然它应该只是调用复制构造函数。然而,这似乎是期望的行为,因为标准规定initializer_list构造函数应该优先。此代码适用于其他std::vector,但对于std::function,编译器无法知道您是否需要initializer_list构造函数或其他构造函数。似乎没有办法绕过它,如果是这种情况,那么您永远不能在模板代码中使用统一初始化。这将

c++ - std::function 与原始函数指针和 void* this 相比的性能?

库代码:classResource{public:typedefvoid(*func_sig)(int,char,double,void*);//RegistrationregisterCallback(void*app_obj,func_sigfunc){_app_obj=app_obj;_func=func;}//Callingwhenthetimecomesvoidcall_app_code(){_func(231,'a',432.4234,app_obj);}//Otherusefulmethodsprivate:void*app_obj;func_sig_func;//Oth

解决subprocess.CalledProcessError: Command ‘[‘dot‘, ‘-Tpdf‘, ‘-O‘, ‘Digraph.gv‘]‘ returned non-zero

目录解决subprocess.CalledProcessError:Command'[‘dot‘,‘-Tpdf‘,‘-O‘,‘Digraph.gv‘]'returnednon-zero问题描述解决方法1.检查命令是否正确2.检查Graphviz是否已正确安装3.检查文件是否存在4.检查文件权限5.检查路径设置总结解决subprocess.CalledProcessError:Command'[‘dot‘,‘-Tpdf‘,‘-O‘,‘Digraph.gv‘]'returnednon-zero在使用Python的subprocess模块执行外部命令时,有时候会遇到​​CalledProcessEr

c++ - 在 MSVC 中对 void * 执行指针运算时出错

Error1errorC2036:'constvoid*':unknownsizefile.cpp111我不听。GCC从不提示void*指针运算,即使在-ansi-pedantic-Wall上也是如此。有什么问题?这是代码-structMyStruct{constvoid*buf;//Pointertobufferconstvoid*bufpos;//Pointertocurrentpositioninbuffer};...size_tsomeSize_t,anotherSize_t;MyStruct*myStruct=(MyStruct*)userdata;...if((myStru

C# - 如何从 static void main 调用方法

我在staticvoidmain中有一些代码,虽然我希望它从staticvoidmain调用startremdup方法(因为它调用RemoveDuplicate,并带有适当的参数),我已经尝试过startremdup();privatevoidRemoveDuplicate(stringsourceFilePath,stringdestinationFilePath){varreadLines=File.ReadAllLines(sourceFilePath,Encoding.Default);File.WriteAllLines(destinationFilePath,readLin

浅谈c/c++中main(),int main(),void main(),int main(void)四者之间的区别

一、主函数也是函数首先我们要了解C/C++中函数的定义,因为main函数也是函数,与其他函数的区别只是主函数是程序的主线而已,程序从它开始也在其中结束。一个函数由函数名、其前的类型标识符、其后小括号里声明的参数类型和参数名(这里的参数叫形参,即形式参数或虚拟参数)以及大括号里的函数主体构成。主函数main也不例外。二、main前面用int还是void?main前面的是类型标识符,也就是类型名,其决定的是函数返回值的类型,int指有返回值且返回值为整型,void表示“空"即没有返回值。很多时候函数是不需要返回值的,只作为语句执行就完成任务了,比如主函数main常常就是;有返回值的函数通常出现在表

如何使用委托使用void函数?

我一直在尝试将活动处理用于游戏的输入。当看到他人使用类似方法时,他们能够在委托变量中添加空隙函数而不会出错。每当我尝试将MOVE()函数添加到OnaxIsChange时,我会收到以下错误:不能隐式将“void”类型转换为“targeview.inputaction”publicclassCharacterView:MonoBehaviour{publicdelegatevoidInputAction();publicstaticeventInputActionOnAxisChange;publicVector2InputAxis{get{floatx=Input.GetAxisRaw("Hor

node.js - CALL_NON_FUNCTION_AS_CONSTRUCTOR( native )

我正尝试在我的数据库中使用新模式,但在尝试实例化它时出现错误。我有另外两个模式(在“模型”文件夹中的两个不同模型文件中),它们工作完美,并且它们的形状相同。错误消息是什么意思,我可以做些什么来防止它发生?我认为Controller中的其他代码没有任何问题,因为我尝试使用相同的语法在同一位置实例化另一个数据库模型,并且效果很好。我得到的错误:500TypeError:objectisnotafunction在Schema.CALL_NON_FUNCTION_AS_CONSTRUCTOR(本地)抱歉下面的所有代码。我不知道在这种情况下我可以排除什么。无论如何,提前致谢!Controller