rt,我有以下函数:
inline int read(char *s);
template<typename Type>
inline int read(Type &x);
template <typename Type,typename... Args>
inline int read(Type &t,Args &...args) {
int res=0;
res+=read(t);res+=read(args...);
return res;
}
第一个read
函数是字符串读入函数,第二个是整形读入函数。
当我创建int n;char s[10000];
后,调用read(n,s+1)
,编译器报错:cannot bind non-const lvalue reference of type 'char*&' to an rvalue of type 'char*'
去查了一下左值和右值,没看懂。确定是指针加一后传成引用又传回指针的问题。另外,字符串读入函数里有s++
的操作。也就是说,不能在char *s
前加const
。
请问这个怎么解决啊