CLI中的多行定义指令

时间:2012-12-24 01:44:40

标签: visual-studio-2010 preprocessor command-line-interface

我试图在我的CLI程序中使用相当长的定义但是由于这个原因我得到错误的dosens。

这是我的代码。

#define OPERATION_MACRO(character)                                  \
        array<Byte>^ opRes = gcnew array<Byte>(args[0]->Length);    \
        for(int i=0;i<args[0]->Length;i++)                          \
        {                                                           \
            double result=0;                                        \
            for(int k=0;k<args->Length;k++)                         \
            {                                                       \
            result character##= args[k][i];                     \   
            }                                                       \
            graphicUtils::round(result);                            \
            opRes[i] = result;                                      \
        }                                                           \
        return opRes;

array<Byte>^ myInterpreter::mathOp(array< array<Byte>^ >^ args, Char opr)
{
        switch(opr)
        {
            case '*':
                OPERATION_MACRO(*)
            case '/':
                OPERATION_MACRO(/)
            case '+':
                OPERATION_MACRO(+)
            case '-':
                OPERATION_MACRO(-)
            case '%':
                OPERATION_MACRO(%)
            case '^':
                OPERATION_MACRO(^)
        }
}

是不是因为CLI编译器中的新行字符不同?

0 个答案:

没有答案