小编Mic*_*hel的帖子

模板化和非模板化类的可变参数模板方法行为的令人费解的差异

我正在抓住一个由以下最小代码突出显示的奇怪问题:

struct A {
    template <typename ...X, typename ...Y>
    void f(X... a, Y...b) {
    }

    template <typename ...X>
    void g(X...c) {
       f<X...> (c...);
    }
};

template <typename T>
struct B {
    template <typename ...X, typename ...Y>
    void f(X... a, Y...b) {
    }

    template <typename ...X>
    void g(X...c) {
       f<X...> (c...);
    }
};



int main() {
    A a;
    a.g(); // Compiles without problem

    B<int> b;
    b.g(); // Compiler complains saying g() calls f<>() with 0 arguments while 1 is expected
} …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

9
推荐指数
1
解决办法
109
查看次数

如何与Conan打包相互依赖的库?

我有一个项目,我尝试使用 conan 作为包管理器。该项目使用了大量的库,其中大部分都是自给自足的。然而,其中一些依赖于另一个库。举一个具体的例子,假设我们有一个项目 P,需要库 A 和 B。A 是自包含的,但 B 的编译和链接依赖于 A。

我可以轻松地为库 A 创建 conanfile.py。我可以为项目 P 创建 conanfile.txt。假设 A 和 B 尚未构建,我希望能够在 P 的构建目录中输入:

conan install ../ --build=missing
Run Code Online (Sandbox Code Playgroud)

让柯南下载、编译并安装库 A,然后下载编译并安装库 B,其中 B 具有对 A 的正确引用。

编写 B 的 conanfile.py 的正确方法是什么?

conan

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

标签 统计

c++ ×1

c++11 ×1

conan ×1