`CxxVector` 显式代理实现失败: `在外部函数声明中不允许出现模式`
作者: DexterHill0创建于 2026年5月16日更新于 2026年6月22日
#[cxx::bridge]
mod ffi1 {
unsafe extern "C++" {
type A;
}
impl CxxVector<A> {}
}
这个代码会出现以下错误:foreign function declarations 不允许包含 patterns
这是因为 `__vector_size` 和 `__vector_capacity` 外部函数是以 `_` 作为参数生成的,而不是以单个字母变量生成的。 由于某种原因, Rust 认为这是一个模式匹配,并出现了错误。 解决方案,正如其他向量方法一样,是将参数改为单个字母或类似 `_v` 的字符串。内容来源: dtolnay/cxx