【问题标题】:C++ STL containters to Glib conversionC++ STL 容器到 Gib 的转换
【发布时间】:2017-10-28 02:11:08
【问题描述】:

我正在尝试将带有 STL 容器的 C++ 代码转换为 C 和 Glib。 对吗?

//vector<pair<int, int> > coordinates;
GArray coordinates((int, int));

//vector<vector<int> > adj_Matrix;
GArray adj_Matrix(GArray(int));

//vector<vector<int> > path_indices;
GArray path_indices(GArray(int));

//vector<pair<int, int> > connecting_indices;
GArray connecting_indices(GVariant(int,int));

//vector<vector<pair<int, int> > > points;
GArray points(GArray(GVariant(int,int)));

【问题讨论】:

  • 您是否尝试编译此代码?
  • 是的。它编译
  • 好吧,它肯定不能在 g++ 上编译... GArray 与 C++ 模板容器的工作方式不同。我建议采取不同的方法并查看 GArray 的示例。
  • 是的,我的意思是它用 gcc 编译。这就是将代码从 C++ 移植到 C 的想法。好的,谢谢

标签: c++ vector glib gvariant


【解决方案1】:

如果目标是 C,那么 gcc 是正确的编译器。 但是,代码编译的唯一事实并没有说明正确性。也许你在第一行漏掉了一个 GVariant,或者定义不一致。 为了清楚起见,我将points 定义为GArrayconnecting_indices,不是吗?无论如何,这看起来不像 C 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2021-10-07
    相关资源
    最近更新 更多