无法解析符号' __ builtin_va_start' Visual Studio linux远程调试

时间:2016-12-01 12:51:38

标签: c++ linux visual-studio g++ remote-debugging

致力于将C项目转换为c ++,此代码适用于普通的C ++项目,但是当我开始远程调试以加速测试时,我不再能够使用va_start宏

#include "Utilities.h"
#include <cstdarg>
#include <stdarg.h>
void Utilities::PrintLine(const char* text, ...)
    {
        char buffer[100];
        va_list args;         // resolved just fine
        va_start(text, args); // cannot resolve
        vsprintf(buffer, text, args);
        va_end(args);         // cannot resolve
        std::cout << buffer << "\n";
    }

1 个答案:

答案 0 :(得分:1)

我不承认您使用va_start。以下内容适用:

#include <iostream>
#include <cstdarg>

void PrintLine(const char* fmt, ...)
{
   char buffer[100];
   va_list args;
   va_start(args, fmt);
   vsprintf(buffer, fmt, args);
   va_end(args);
   std::cout << buffer << std::endl;
}

PrintLine ("var arg %d %d %d %d", 1, 2, 3, 4);