template<typename T> T SmartIO::Peek() {
T temp;
T tempReturn;
while(true){
temp = *(T*)&buffer[ptrSeek];
if(temp !=0){
ptrSeek++;
tempReturn += *(T*)&buffer[ptrSeek];
}
else{
break;
}
}
return tempReturn;
}
所以我想要做的是,从ptrSeek开始读取循环,将值添加到temp并检查temp的值!= 0将此值添加到tempReturn,一旦临时的值是0打破循环,并返回tempReturnbut,但它不断给我这个错误:错误C2678:二进制'!=':没有找到需要左手操作数的操作符
error C2678: binary '!=' : no operator found which takes a left-hand operand of type 'std::basic_string<_Elem,_Traits,_Ax>' (or there is no acceptable conversion)
我怎么可以在这里解决这个问题呢?
我所要做的就是检查temp是否有值或没有值,我会打断循环。 – Abanoub
你是什么意思“有价值与否?”一切都有价值。你的意思是它是否有你关心的某个特定的价值? – templatetypedef
好吧,我希望它返回下一个可用的字符,这是我的主要观点,然后我想把它作为模板,所以我可以返回下一个可用的类型,我把它传递给模板! – Abanoub