对c++不定参数+模板参数+引用+指针的疑问
  • 板块学术版
  • 楼主柳苏明
  • 当前回复29
  • 已保存回复29
  • 发布时间2020/9/1 16:49
  • 上次更新2023/11/5 13:51:10
查看原帖
对c++不定参数+模板参数+引用+指针的疑问
226485
柳苏明楼主2020/9/1 16:49

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

请问这个怎么解决啊

2020/9/1 16:49
加载中...