Coordinate.h
#include <iostream> using namespace std; class Coordinate{ public: Coordinate(int x=0,int y=0){ X=x; Y=y; } void pf(){ cout<<X<<" "<<Y<<endl; } private: int X; int Y; };
test.cpp
#include "Coordinate.h" int main(){ Coordinate c = new Coordinate(7,11); c.pf(); }
我做个模版练习时出的错,建test.cpp测试,也报错
invalid conversion from ‘Coordinate*’ to ‘int’ [-fpermissive]
Coordinate c = new Coordinate(7,11);
报错位置是test.cpp的第四行
Coordinate c = new Coordinate(7,11);
我的构造函数应该没写错吧,为什么说“无效的Coordinate指针指向int”?
求大神指点迷津
----------------------------------------
找到问题了
学java时留下的习惯
杯具了……
顺带问一下
函数调用里能不能内嵌构造函数
比如:
void pf(Coordinate c){ cout<<c.X<<" "<<c.Y<<endl; }
调用时标准写法是
Coordinate c1(4,9); pf(c1);
java中可以合成一句:pf(new Coordinate(4,9));
c++中用这种写法就报错。
请教下大神,c++中有没有类似的语法,应该怎么用?
onemoo
何方神圣
xiele
相关分类