小编Cra*_*g P的帖子

可变参数模板的链接器错误

我有一个包含可变参数模板和辅助函数的程序:

#include <iostream>
#include <string>

using std::cout;

template<typename... Ts>
void fooImpl(char const *cp, Ts... args);

template<typename... Ts>
inline void foo(const std::string &s, Ts... args)
{
    fooImpl(s.c_str(), args...);
}

void fooImpl(char const *cp)
{
    // do something
}

template<typename T, typename... Ts>
void fooImpl(char const *cp, T val, Ts... args)
{
    char special{'@'};

    while (*cp)
    {
        if (*cp == special)
        {
            // handle val ...

            // recurse over remaining args
            fooImpl(cp, args...);
            return;
        }
        ++cp;
    }    
}

int main()
{
    std::string …
Run Code Online (Sandbox Code Playgroud)

c++ linker-errors variadic-templates

3
推荐指数
1
解决办法
888
查看次数

标签 统计

c++ ×1

linker-errors ×1

variadic-templates ×1