c++ - 错误 : names the constructor, 不是类型。使用 g++4.6.1 编译时

标签 c++ g++ aix

我在 aix6.1 上用 g++4.6.1 编译代码并得到这个错误:-

ViaChecks.h:14:3: error: 'BuPolygonEX<AllPass<CornerT<NetAndVal<ZVal3> > > >::IOPS::Base {aka BuPolygonCore<bu_polygon_clean_func, no_derivatives, AllPass<CornerT<NetAndVal<ZVal3> > > >::IOPS}::IOPS' names the constructor, not the type

结构定义为:

struct ViaSquareCheck : BuPolygonEX<AllPass<CornerT<NetAndVal<ZVal3> > > > {
  typedef BuPolygonEX<AllPass<CornerT<NetAndVal<ZVal3> > > > Base;
  DEFINE_ENGINE_PROPERTIES_INHERIT(Base::IOPS, void update() { Base::update(); i().xregion_1nm_oversize(x0nm); o().xregion_1nm_oversize(x0nm); o().derivatives(x_dom); o().bu_polygonized(yes); }); // via_square_dim property is added inside
  membert(int, amount, -1, ViaSquareCheck);
  ViaSquareCheck();
  ViaSquareCheck* output(DFC* dfc) { return set_output(0,dfc); } // single output returns good vias
  ViaSquareCheck* set_output(int k, DFC* dfc);
  void option(const string& pname, const string& pval); // some options change engine properties
private:
  BadViaMultiplexer<C>* mux;
  GIM2a<APC> bad_via_gim;
  GIM2a<APC> good_via_gim;
  member(bool, linked, false);
  member(bool, ok_45, false);
  void link();
  member(ViaSquareCheckNetProcess*, np,NULL);
};

DEFINE_ENGINE_PROPERTIES_INHERIT 的定义:-

#define DEFINE_ENGINE_PROPERTIES_INHERIT(SSSS, extras...) \
struct IOPS : SSSS { \
      EnginePropertiesVector& i() { return SSSS::i(); }; \
      EnginePropertiesVector& o() { return SSSS::o(); }; \
      EngineProperties& i(int n) { return SSSS::i(n); }; \
      EngineProperties& o(int n) { return SSSS::o(n); }; \
      typedef SSSS Base; \
      extras; } ep_; 

谢谢。

最佳答案

如果您使用名称,则会给出此诊断

myclass::myclass

此名称不表示类 myclass 而是其构造函数

关于c++ - 错误 : names the constructor, 不是类型。使用 g++4.6.1 编译时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381668/

相关文章:

c++ - 制作 :*** [Lab1] Error 1

c++ - 如何通过 g++ 链接 wsock32 库?

linux - SSH 到远程服务器

c - 是否可以在 IBM-AIX 上实现共享库版本控制?

java - IBM JVM 1.6 SR14 : java. lang.UnsatisfiedLinkError : fontmanager (Not found in com. ibm.oti.vm.bootstrap.library.path)

c++ - 对于我正在交叉编译的程序,如何将 ubuntu 上的 GLEW 交叉编译到 Windows?

c++ - 模板函数调用的ifstream或ofstream类型

c++ - 模板类数组定义不是类型名称、静态或枚举数 C++

c++ - 将 Autotools 用于新的共享库

c++ - #define函数的多重定义