草庐IT

T_OLD_FUNCTION

全部标签

c++ - 如何摆脱这个错误 : "MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup"

我正在帮助一位friend学习C++,但老实说,我们需要很大的帮助。为什么我们总是得到这个错误:“MSVCRTD.lib(crtexe.obj):errorLNK2019:unresolvedexternal符号main在函数__tmainCRTStartup中引用”代码如下://MariaDelgado(1013725)-Coursework2-ProgramConductingtimbercomponentstructuraldesign#include#include#include#include#includeusingnamespacestd;//VariablesforS

c++ - "Unresolved overloaded function type"尝试将 for_each 与 C++ 中的迭代器和函数一起使用时

//for(unsignedinti=0;i我正在尝试使用for_each循环代替for循环进行赋值。我不确定为什么会收到此错误消息:Infunctionâvoidclean_entry(conststd::string&,std::string&)â:prog4.cc:62:40:error:nomatchingfunctionforcalltoâfor_each(std::basic_string::iterator,std::basic_string::iterator,)â 最佳答案 写:for_each(c.begin()

c++ - std::function 模板参数解析

我目前正在开发一个链接函数对象的库。我正在创建一个函数模板,它接受一个可调用对象(目前是std::function),并根据函数的输出和输入类型进行参数化。这是我定义的简化版本:templatestd::vectorprocess(std::vectorvals,std::functionfunc){//applyfuncforeachvalueinvalsreturnresult;}我遇到的问题是使用上的。似乎当我传递一个lambda时,编译器无法正确推断类型,因此提示该函数不存在:std::vectorstrings;//doesNOTcompileautochars=proces

C++11 Lambda 函数隐式转换为 bool 与 std::function

考虑这个简单的示例代码:#include#includevoidf(bool_switch){std::cout_f){std::cout编译失败:$g++--std=c++11main.cppmain.cpp:Infunction‘intmain(int,char**)’:main.cpp:15:33:error:callofoverloaded‘f(main(int,char**)::)’isambiguousmain.cpp:15:33:note:candidatesare:main.cpp:6:6:note:voidf(bool)main.cpp:10:6:note:voidf

c++ - 如何将 std::function 对象传递给采用函数指针的函数?

我正在尝试与使用这种熟悉模式的c编写的库进行交互:voidsome_c_handler(void(*func)(void*),void*data);现在,我想为这个函数编写一个C++包装器,如下所示:voidmy_new_cpp_handler(std::function&&func){void(*p)()=foo(func);void*data=bar(func);some_c_handler(p,data);}some_c_handler和my_new_cpp_handler都在解决同样的问题;他们正在接受某种功能和某种状态。但后者更受欢迎,因为它从用户那里抽象出很多实现细节,并允

c++ - 通过 std::function 包装重载函数

我有一个重载函数,我想将其包装在std::function中传递。GCC4.6没有找到“匹配函数”。虽然我确实在这里找到了一些问题,但答案并不像我希望的那样清楚。有人能告诉我为什么以下代码不能扣除正确的重载以及如何(优雅地)解决它吗?inttest(conststd::string&){return0;}inttest(conststd::string*){return0;}intmain(){std::functionfunc=test;returnfunc();} 最佳答案 这是模棱两可的情况。为了消除歧义,使用显式转换为:ty

c++ - 错误 C2280 : 'std::thread::thread(const std::thread &)' : attempting to reference a deleted function

我在尝试创建使用C++11标准线程的VC++静态库时遇到问题。我目前有两个类,我可以在我的起始类(最后声明的)上声明并稍后定义一个线程。在这个阶段,代码只是一个套接字监听器,然后创建另一个类的对象来处理每个接受的客户端。这些子对象应该创建并行数据捕获、编码和传输所需的线程。问题是:如果我在我的其他类上声明了一个std::thread,即使我在我的起始类上所做的完全一样,无论如何,我在构建errorC2280时遇到这个错误:'std::thread::thread(conststd::thread&)':试图引用已删除的函数[...]\vc\include\functional11241

c++ - "error: use of deleted function"在 move 构造函数中对 unique_ptr 调用 std::move 时

#includeclassA{public:A(){}A(constA&&rhs){a=std::move(rhs.a);}private:std::unique_ptra;};此代码无法使用g++4.8.4编译并抛出以下错误:error:useofdeletedfunction‘std::unique_ptr&std::unique_ptr::operator=(conststd::unique_ptr&)[with_Tp=int;_Dp=std::default_delete]’a=std::move(rhs.a);^我知道unique_ptr的复制构造函数和复制赋值构造函数已删除

c++ - 无法使用比较器初始化 std::function

在我的C++课上,我们正在学习使用函数对象等,但现在我们得到了一个代码片段,它可以在老师的编译器上运行,但不能在我们的编译器上运行(我们使用不同的操作系统)。我们用几个编译器(MSVC,clang)测试了下面的代码片段,它们都拒绝了它,有点最小化:#includestructFraction{Fraction();Fraction(intz,intn);Fraction(Fraction&);//variousdatamembers};structFractionComparator{intoperator()(Fractiona,Fractionb){return1;}};intma

c++ - g++ __FUNCTION__ 替换时间

谁能告诉我什么时候g++将__FUNCTION__“宏”替换为包含函数名称的字符串?似乎在检查源代码的语法正确性之前它不能替换它,即以下将不起作用#include#defineDBG_WHEREAMI__FUNCTION____FILE____LINE__intmain(intargc,char*argv){printf(DBG_WHEREAMI"\n");//*}自预处理后使用g++-Etest.cc来源看起来像[...]intmain(intargc,char*argv){printf(__FUNCTION__"test.cc""6""\n");//*}现在编译器正确地抛出,因为*