Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 根据条件加载头文件,并且具有头文件中的类的类对象_C++_Visual Studio - Fatal编程技术网

C++ 根据条件加载头文件,并且具有头文件中的类的类对象

C++ 根据条件加载头文件,并且具有头文件中的类的类对象,c++,visual-studio,C++,Visual Studio,我必须将(使用整个类)头文件的加载限制为64位windows。为此,我包括了预处理器(ifdef)。但是代码中使用了referenece类。如何处理该引用 枪 Gun.cpp #include "Gun.hpp" #include <iostream> using std::cout; using std::endl; void Gun::doStuff() { cout << stuff << endl; } 只需应用相同的限制即可混合调用代码: #if

我必须将(使用整个类)头文件的加载限制为64位windows。为此,我包括了预处理器(ifdef)。但是代码中使用了referenece类。如何处理该引用

Gun.cpp

#include "Gun.hpp"
#include <iostream>
using std::cout;
using std::endl;

void Gun::doStuff()
{
cout << stuff << endl;
}

只需应用相同的限制即可混合调用代码:

#if defined(_WIN64)
#include "Gun.h"
#endIf
int main()
{
#if defined(_WIN64) // <<<<<<<<<<<<<<<<<<<
Gun *mygun ; // getting Compilation error here
mygun->doStuff();
#endIf


return 0;
}
#如果已定义(_WIN64)
#包括“Gun.h”
#恩迪夫
int main()
{

#如果定义了(_WIN64)/如果main()函数使用类Gun,则必须给它一个Gun类。通常人们会提供两个版本的Gun.h(比如Gun32.h和Gun64.h)并使用“yIFDEF……………………”来选择其中一个。< /P>在声明和使用MyFun的时候,如果DEF加上相同的值。C没有类。请注意C和C++是不同的语言。<代码> MyFix-doSuffor()else cout@adriancolomithi好吧,请随意编辑我的答案。我现在太懒了,太累了。
static\u cast(“天哪,不!!!我不敢编辑一个明确的答案”)
。懒惰是发明之父,没什么错。好好休息吧。
#if defined(_WIN64)
#include "Gun.h"
#endIf
int main()
{
Gun *mygun ; // getting Compilation error here
mygun->doStuff();


return 0;
}
#if defined(_WIN64)
#include "Gun.h"
#endIf
int main()
{
#if defined(_WIN64) // <<<<<<<<<<<<<<<<<<<
Gun *mygun ; // getting Compilation error here
mygun->doStuff();
#endIf


return 0;
}