首页 > 代码库 > g++ error: expected nested-name-specifier before 'XXX'
g++ error: expected nested-name-specifier before 'XXX'
1 template <typename addrT=int,typename valuT=int,typename stream_addrT=bm_addr,typename stream_sizeT=int64> 2 class stream_chip : public chip<addrT,valuT>{ 3 public: 4 typedef typename stream_addrT stream_addr_type; 5 typedef typename stream_sizeT stream_size_type; 6 7 stream_chip (bus_type * const owner, addr_type addr):chip<addrT,valuT>(owner,addr) 8 {} 9 public: 10 virtual stream_size_type write_mem(stream_addr_type dest_addr, void* pValue ,stream_size_type size)=0; //write board memory 11 virtual stream_size_type read_mem(void* pValue,stream_size_type size ,stream_addr_type src_addr)=0; //read bpard memory 12 13 };
明明全部代码都在VS编译下好好的
把以上public的typename删除就行了。错误就不报了。唉,移植就是ISO标准问题多。各平台的扩展实现也乱七八糟。
references:
http://bbs.csdn.net/topics/370075224
http://stackoverflow.com/questions/5249835/expected-nested-name-specifier-before-const-error-with-typename-const-in-g
g++ error: expected nested-name-specifier before 'XXX'
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。