好的,如上所述,我有兩個未解決的外部錯誤。沒有intellisense錯誤,只有這兩個鏈接器錯誤。這是代碼。LNK 2019無法解析的外部問題
include "stdafx.h"
include <iostream>
using namespace std;
class circle; //forward declaration
class square
{
public:
square create_square(circle user_circle);
};
class circle
{
public:
friend square square::create_square(circle user_circle)
};
square square::create_square(circle user_circle)
{
square user_square(user_circle.get_circumference());
return user_square;
}
// function call
user_square = user_square.create_square(user_circle);
這是不是整個程序,但這個錯誤似乎指向這批代碼
錯誤1錯誤LNK2019:解析外部符號
「市民:__thiscall圈::〜圈(void)「(?? 1circle @@ QAE @ XZ)在功能
中引用」public:class square __thiscall square :: create_square(class circle)「
(?create_square @ square @@ QAE?AV1 @ Vcircle @@ @Z)
C:\ Users \ John \ documents \ visual studio 2010 \ Projects \ PROG5 \ PROG5 \ PROG5.obj
錯誤2錯誤LNK2019:解析外部符號
「公共:__thiscall平方::〜平方(無效)」(?? 1平方@@ @ QAE XZ)在功能
「公共引用:類方形__thiscall正方形: :create_square(class circle)「
(?create_square @ square @@ QAE?AV1 @ Vcircle @@@ Z)
C:\ Users \ John \ documents \ visual studio 2010 \ Projects \ PROG5 \ PROG5 \ PROG5.obj
我真的很難過,我不想隨機更改代碼,因爲我的邏輯應該是正確的。一個圓形對象被傳遞給create_square函數,該函數獲取圓的直徑並將其作爲該圓形的周長。至於毫無意義的練習,這是一堂課。希望有人能幫助,謝謝。
這裏沒有析構函數或構造函數,我沒有包含整個程序。它們是在代碼中實現的,從錯誤的說法我不認爲構造函數或析構函數是問題 – John 2011-04-04 18:28:51
@John:「public:__thiscall circle ::〜circle(void)」 - 這是circle的析構函數,它不是定義。 – Erik 2011-04-04 18:29:30
啊我又看了一遍,我忽略了無參數析構函數上的{}(構造函數被重載)。哈哈,謝謝你的幫助。 – John 2011-04-04 18:35:17