g++ error: expected ‘)’ before ‘*’ token

原本*号前面的类型是我用typedef自定义的类型的,MyType* const p;

发生这样的错误是,编译器根本不知道MyType是什么东西,这是我在C++多重继承中遇到的。MyType是我在基类中public中定义的类型,结果在它的孙子类发生出这样的情况,不识别这个新类型。但是儿子类中也有MyType类型,却没有报错。

在孙子类中根据基类重新typedef下MyType就好了,编译器就能识别次类型了。

reference:

http://stackoverflow.com/questions/3720034/error-expected-before-token

时间: 2024-10-26 13:45:09

g++ error: expected ‘)’ before ‘*’ token的相关文章

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_

error: expected constructor, destructor, or type conversion before &#39;.&#39; token

error: expected constructor, destructor, or type conversion before '.' token   找了半天原因,原来是犯了基础知识不扎实的错误,C++中,全局阈只能声明.初始化变量: 不能用于赋值.运算.调用函数等!!! error: expected constructor, destructor, or type conversion before '.' token

linux的shell脚本报错“syntax error near unexpected token `”的解决

今天写了一个shell脚本,老报错检查了一下基本的语法并没有发现错误.后来经过百度解决掉了,现总结如下. 错误现象:执行shell脚本,老报错"syntax error near unexpected token `" 解决办法:vim -b example.sh打开文件,发现文件每一行的末尾多了一个^M,这个问题在使用vim example.sh查看是看不见的,只能通过报错来判断使用vim -b才能发现问题. 因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下

syntax error near unexpected token(关于跨平台非法字符(^M)的解决方法)

别人写了一个shell拿过来在linux试用,执行报错如下: 仔细查找了还是没找到错误,一直都是报syntax error near unexpected token `{ 网上搜索了一下,找到了端倪,现在简单整理如下: 现在可以判断给我脚本的这位仁兄很有可能是在windows平台上编写的.使用vim -b命令查看文件内容如下: 每一行多了一个^M有木有? 那么接下来就要搞清楚这个^M是什么东东? long long long ago .....  老式的电传打字机使用两个字符来另起新行.一个字

linux shell-syntax error near unexpected token错误

在windows下用记事本编写linux shell脚本后,执行遇到syntax error near unexpected token错误 问题原理:网上找了好久,找到原因,原来是回行的问题,每个系统的回行符是不一样的. window系统的记事本回车是CR和LFlinux系统的记事本回车是LFmac系统的记事本回车是CR 在windows下编写程序linux执行它不认识CR是什么东西.所以会出现syntax error near unexpected token错误.在linux环境下可以通过

关于报错“syntax error near unexpected token `”和回车换行

本来是很简单一个事情,转过来是因为打字机这事比较有趣-- http://blog.csdn.net/xyp84/archive/2009/08/11/4435899.aspx 摘要一下: 回车 换行 0D 0A <CR> <LF> Carriage Return Line Feed "/r" "/n" win32 0D 0D 0A unix 0D 0A ============淡定的分割线=============== 今天写了个shell脚

shell脚本syntax error near unexpected token `done&#39;

1.修改文件类型 执行: vi finddir.sh 输入 :set ff 如果fileformat=dos ,修改为unix: :set ff=unix 执行保存命令: :wq 2.删除隐藏字符 用命令vi -b 打开你的SHELL脚本文件,你会.发现每行脚本最后多了个^M 因为MS-DOS及Windows是回车+换行来表示换行,因此在Linux下用Vim查看在Windows下用VC写的代码,行尾后的"^M"符号,表示的是符. 在Vim中利用替换功能就可以将"^M"

Error: expected expression, got &#39;}&#39;

1.错误描述 Error: expected expression, got '}' .globalEval/<@http://localhost:8080/Sys/resource/global/plugins/jquery.min.js:2:2613 [email protected]://localhost:8080/Sys/resource/global/plugins/jquery.min.js:2:2587 [email protected]://localhost:8080/Sys

linux--shell错误:syntax error near unexpected token ‘(&#39;

这几天编写了几个简单的shell程序,然后都出现了syntax error near unexpected token '(' 的错误,然后实在是检查不出错误:后面百度了才找到的原因: 之前错误的程序片段如下: usr=$ (whoami) dr=$ (pwd) 提示的错误如下: syntax error near unexpected token '(' 后面才知道原来是$ 与左括号之间多了一个空格,改正以后程序就正常运行了. 其实上面usr=$(whoami)等价于 usr=`whoami`