d用外声明c++模板

原文

// C++模板类(第3方库)
template<typename T, typename X>
class Foo {
  // X为行为开关,但未实例化.
  T a, b;
};

using FooFloat = Foo<float>;

// 自己的 C++ 函数:
void bar(FooFloat f);

// D的模板构.
struct Foo(T) {
  T a, b;
}

alias FooFloat = Foo!float;

该如何绑定bar函数?

extern(C++) extern(C++, class) struct Foo(T) {
   T a, b;
}

alias FooFloat = Foo!float;

extern(C++) void bar(FooFloat f);
posted @ 2022-09-26 08:45  zjh6  阅读(10)  评论(0)    收藏  举报  来源