猫史档案馆


【C++】各位大佬看看为什么会报错

用户:死神Basic死神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')

就是这样的,到底是哪里错了?


回复

上一页1 页 / 共 1下一页
PYGAME_dhPYGAME_dh

翻译一下:

[Error]与“operator<<”不匹配(操作数类型为“std::ostream{aka std::basic_stream<char>}”和“position”)

所以,你的类型是不是有问题?

 

点赞0


评论


一只小枫鸽一只小枫鸽

woc,为什么我不会()

点赞0


评论


大大黄工作室大大黄工作室

c++我不会……

点赞0


评论


大大黄工作室大大黄工作室

我翻译了一下,[错误]与“operator<<”不匹配(操作数类型为“std::ostream{aka std::basic_stream<char>}”和“position”)

点赞0


评论