小编Aar*_*ing的帖子

是否有一项定义规则适用于在运行时动态加载共享库?

如果我在运行时使用 unix 上的 dlopen() 或 Windows 上的 LoadLibrary() 加载 dll 或 so 库,我是否需要确保库中的符号与程序中的符号名称不同?另外是否可以加载定义相同函数的多个共享库?

编辑:我特别询问运行时动态链接。

c c++ dll loadlibrary one-definition-rule

5
推荐指数
1
解决办法
637
查看次数

SFINAE允许吗?

我正在尝试使用std :: enable_if从类模板中删除成员函数。当我禁用一个功能时,我得到了错误:

C2938: 'std::enable_if_t<false,int64_t>' : Failed to specialize alias template
Run Code Online (Sandbox Code Playgroud)

我的代码如下所示:

template<int NUM_COMPONENTS>
struct Foo
{
    typename std::enable_if_t<(NUM_COMPONENTS == 2), void> set(int64 x, int64 y)
    {
        // some code here
    }
}
Run Code Online (Sandbox Code Playgroud)

我是否正在执行该标准不允许的操作,如果可以的话,还有另一种方法吗?还是这是一个错误?我正在将MSVC与QtCreator一起使用。

c++ template-meta-programming

2
推荐指数
1
解决办法
78
查看次数