草庐IT

include_guard_symbol

全部标签

c++ - 为什么我们应该为字符串数据类型导入#include <string> 而不是为其他类型导入?

我是C++的新手,我注意到在处理字符串时您应该包括:#include我的问题是为什么这是必要的,而不是像intfloat等基本类型?谢谢 最佳答案 看来您来自Python或Javascript背景,其中String是一种原始数据类型。在C++中并非如此,原始类型(在C++中称为基本类型)中没有String。但是int,float属于基本类型。在C++中,string是属于复合类型(相对于基本类型)类别的类类型。有关C++类型系统的概述,您可以阅读此referenceontypes. 关于

c++ - "error LNK2001: unresolved external symbol"

这个问题在这里已经有了答案:Whatisanundefinedreference/unresolvedexternalsymbolerrorandhowdoIfixit?(38个答案)关闭5年前。我的VC++2008程序有问题。当我编译它时,列出了以下错误。我花了很多有时间上groups.google.com找原因,但是没有评论帮助过我。有人知道问题出在哪里吗?谢谢。errorLNK2001:unresolvedexternalsymbol"longrfl_xref_id"(?rfl_xref_id@@3JA)errorLNK2001:unresolvedexternalsymbol"

c++ - 在 VC++ 中解决 hid.lib "unresolved external symbol"链接器错误

如标题所示,我遇到以下链接器错误:errorLNK2019:unresolvedexternalsymbol"unsignedchar__stdcallHidD_GetAttributes(void*,struct_HIDD_ATTRIBUTES*)"(?HidD_GetAttributes@@YGEPAXPAU_HIDD_ATTRIBUTES@@@Z)在我的代码中调用result=HidD_GetAttributes(WriteHandle,&attributes)时。这个函数应该存在于“hid.lib”中,我已将其添加到项目的链接器依赖项中。我还包含了头文件“hidsdi.h”,它

c++ - 如何在 C 中#include 单行

显然有传言说可以在C中#include一行(可能使用gcc)例如#include5像第5行一样。在cpp文档中找不到类似的内容。或者哪些预处理器允许进行这样丑陋的黑客攻击?! 最佳答案 我从未听说过这样的功能,而且我肯定没有遇到任何支持它的预处理器。无论如何,这听起来真的是个坏主意。如果有人在file.h的顶部插入了一个空行怎么办...您会为这个更改破坏您的程序而高兴吗?如果您控制file.h,我认为最好的方法是将第5行提取到一个单独的标题中,然后将其#include都放入file中。h并进入您的主程序。

c++ - 错误 LNK2001 : unresolved external symbol C++

在我之前编译良好的VC++代码中,我添加了一个函数X(),如下所示:InthefileBaseCollection.hclassBase{//codevirtualHRESULTX();//code};INthefileDerivedCollection.hclassDerived:publicBase{HRESULTX();}InthefileDerivedCollection.cppHRESULTDerived::X{//definitionofDerivedhere.}已将头文件正确地包含在.cpp文件中。但我仍然不明白为什么会出现链接错误:errorLNK2001:unreso

c++ - error LNK2019 : unresolved external symbol. c文件转cpp

有一个用C做的项目,它的文件是来自http://www.codeproject.com/Articles/185522/Using-the-Raw-Input-API-to-Process-Joystick-Input的RawInput.c。.我编译了它,它在vs2012中完美运行。但是当我在一个新项目的cpp中粘贴相同的代码时,我得到了其中的4个错误,只是不同的decleration名称。错误LNK2019:未解析的外部符号“long__stdcallHidP_GetCaps(struct_HIDP_PREPARSED_DATA....fatalerrorLNK1120:4个Unre

c++ - 在 C++11 中,是否有 std::lock_guard 的变体在构造时解锁并在销毁时锁定?

有好几次我写了一些代码,可以从“反向”lock_guard中获益,就像在这个简短的例子中一样。std::lock_guardlg(_eventQueueMutex);while(!_eventQueue.empty()){Evente=_eventQueue.top();_eventQueue.pop();_eventQueueMutex.unlock();//ManualunlockdispatchEvent(e);_eventQueueMutex.lock();//Manuallock}有没有办法用C++11中的自动lock_guard替换内部解锁/锁定?

c++ - #include 标题在哪里?

我查找了头文件示例,但只能找到没有包含任何内容的简单示例。所以我的问题是,我在哪里可以#include诸如string和vector之类的东西?在.h或.cpp文件中?或者两者兼而有之? 最佳答案 任何你需要的地方。如果您需要在头文件中声明某些内容,请将它们包含在.h文件中。否则就在.cpp文件中。请注意,包含.h文件只是文本替换,包含的.h文件的内容将完全插入文件开头的位置。在#include行的精确点。在标准库的头文件之前包含一个属于项目的头文件是一种很好的做法,并且如果您不需要,则永远不要包含头文件。您应该记住的最后一件事是,

c++ - Turbo C++ 4.5 错误 "undefined symbol owlmain..."

我知道TurboC++很古老,但我女儿的学校使用它,我必须帮助她。我在Windows7虚拟机中使用TurboC++4.5,该虚拟机在Windows8.1中运行。对于任何项目,当点击“Buildall”时,它给出错误:"UndefinedsymbolOwlMain(int,charfar*,far*)inlibraryfilec:\tcwin45\lib\owlwi.libinmodulewinmain"我什至创建了一个只有一个源文件的新项目,代码最少如下:voidmain(){//return;}即便如此,我仍会遇到与上述相同的错误。我不明白这个错误的原因。任何帮助将不胜感激。

c++ - undefined symbol : _ZN7QString13toUtf8_helperERKS_ at runtime

我有两个使用Qt的项目。一个是用QtCreator开发的,另一个是用Eclipse开发的。两者都使用相同的Qt5.3.1库,都是用GCC编译的。但是,当我运行eclipse中的程序时,它崩溃并显示消息Undefinedsymbol:_ZN7QString13toUtf8_helperERKS_。查找显示产生此错误的代码是path.toStdString().c_str()//pathisaQString在qstring.h中的确切位置是#ifdefined(Q_COMPILER_REF_QUALIFIERS)&&!defined(QT_COMPILING_QSTRING_COMPAT_