用户:
死神Basic查看:2 回复:4 评论:2 创建时间:2023-05-04T22:14:40
#include<iostream>
#include<cmath>
using namespace std;
struct position{
int x;
int y;
int z;
};
class entity{
public:
static position forward(position originally,double derection,int distance){
if(derection>0&&derection<=45){
originally.x+=round(sin(direction))*distance;
originally.z+=round(cos(direction))*distance;
}else if(derection>45&&derection<=90){
originally.x+=round(cos(direction))*distance;
originally.z+=round(sin(direction))*distance;
}else{
return derection<0?entity::forward(originally,derection+90,distance):entity::forward(originally,derection-90,distance);
}
return originally;
}
private:
static position pos;
static int direction;
};
int main(){
position xyz={255,127,255};
cout<<entity::forward(xyz,0.0,100);
return 0;
}
报错:[Error] no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'position')
就是这样的,到底是哪里错了?
翻译一下:
[Error]与“operator<<”不匹配(操作数类型为“std::ostream{aka std::basic_stream<char>}”和“position”)
所以,你的类型是不是有问题?
点赞0
评论
大大黄工作室我翻译了一下,[错误]与“operator<<”不匹配(操作数类型为“std::ostream{aka std::basic_stream<char>}”和“position”)
点赞0
评论