我必须在C++中调用一个具有不同数据类型的简单函数。例如,不同数据类型的相同变量?
void Test(enum value)
{
int x;
float y; // etc
if(value == INT)
{
// do some operation on x
}
else if(value == float)
{
// do SAME operation on y
}
else if(value == short)
{
// AGAIN SAME operation on short variable
}
.
.
.
}
因此我想以消除对不同的数据类型重复代码... 所以,我试图用宏,取决于枚举值,来定义同一个变量的不同数据类型..但后来不能够区分MACROS
eg
void Test(enum value)
{
#if INT
typedef int datatype;
#elif FLOAT
typedef float datatype;
.
.
.
#endif
datatype x;
// Do operation on same variable
}
但现在每当第一个条件#if INT变为真时。 我试图设置的宏观不同的值来区分,但不工作:(
谁能帮我实现上述的事情。
你需要'#ifdef'? –
您不能将您的功能命名为主要功能。 –
你能更具体一点:你想通过枚举值切换,还是你想为不同的参数类型编写相同的代码? – nyrl