0
當我編譯我的程序,我得到: 錯誤LNK2019無法解析的外部功能
計劃的工作,如果我評論這些部分(功能的車輛::驅動器):
if (check_position(pos, number, 1, 0))
continue;
change_position(pos, number, 1, 0);
函數的恆等式change_position & check_position (terrain.cpp):
void change_position(vehicles::position &pos, int number, int vertical, int horizontal){
pos.x[number] = pos.x[number] + vertical;
pos.y[number] = pos.y[number] + horizontal;
}
bool check_position(vehicles::position &pos, int number, int vertical, int horizontal)
{
if (pos.x[number] + vertical > MAX_SIZE || pos.x[number] + vertical < 0)
return true;
if (pos.y[number] + horizontal > MAX_SIZE || pos.y[number] + horizontal < 0)
return true;
return false;
}
函數車:: drive(mechanics.cpp),未完成但在com之後工作換貨上面的代碼:
void vehicles::drive(int move, vehicles::position &pos, int number)
{
int direction;
cout << "Press W,A,S,D to move or Q to quit\n\n";
while (move)
{
if (move <= 0)
break;
cin >> direction;
switch (direction)
{
case 'w':
case 'W':
if (check_position(pos, number, 1, 0))
continue;
change_position(pos, number, 1, 0);
--move;
break;
case 'q':
case 'Q':
break;
default:
cout << "Press W,A,S,D to move or Q to quit\n\n";
break;
}
}
類車輛(vehickles.h):
class vehicles{
protected:
double durability;
double velocity;
public:
vehicles(double d, double v) : durability(d), velocity(v) {}
~vehicles() {}
struct position{
vector<int> x;
vector<int> y;
}pos;
void drive(int move, position &pos, int number);
void info() { cout << durability << " " << velocity << "\n"; }
};
宣言這些功能:
void change_position(vehicles::position, int, int, int);
bool check_position(vehicles::position, int, int, int);
您應該仔細檢查函數聲明的簽名,因爲它們可能與定義不匹配。由於您沒有在您的帖子中包含聲明,因此我們很難判斷問題是否存在,或者是否是其他問題。 – 2014-10-26 14:09:32
@CaptainObvlious我編輯了我的文章。 – Kulis 2014-10-26 14:13:09