我認爲我做錯了這個錯誤是如此愚蠢,但我不知道我做錯了什麼。 我有一個類與靜態和非靜態變量和一些方法,所有公共。 在我的程序中,我想創建一個對象,並通過引用將此對象傳遞給一個通用方法。通過引用的方法傳遞一個對象
該程序不編譯,編譯器會拋出真正奇怪的錯誤消息。對於架構x86_64的
未定義的符號: 「prueba :: NUM」,從引用 : _main中ccbRZYqe.o在ccbRZYqe.o prueba :: prueba()在ccbRZYqe.o metodoC(prueba *) prueba :: INICIO()在ccbRZYqe.o 「prueba ::標誌」,從引用:在ccbRZYqe.o metodoC(prueba *)prueba :: prueba()在ccbRZYqe.o prueba :: INICIO()在ccbRZYqe.o ld:找不到架構x86_64的符號collect2:ld返回1退出狀態
代碼
#include <iostream>
using namespace std;
class prueba
{
private:
public:
static bool flag;
static int num;
float complejo;
// Metodos
//--------------
prueba()
{
flag = false;
num = 0;
complejo = 0.0;
}
void inicio()
{
flag = true;
num = 5;
complejo = 3.2;
}
bool cambio()
{
flag++;
num++;
complejo++;
}
};
bool metodoC(prueba* ensayo)
{
cout << "-----------------------------------------" << endl;
cout << "- flag: " << ensayo->flag << endl;
cout << "- num: " << ensayo->num << endl;
cout << "- Complejo: " << ensayo->complejo << endl;
cout << "-----------------------------------------" << endl;
return true;
}
//-----------------------------------
// M A I N
//-----------------------------------
int main(int argc, char *argv[])
{
prueba test;
test.inicio();
test.num += 2;
test.complejo += 5.2;
metodoC(&test);
return 0;
}
謝謝你的明確答案。/Gracias por tu respuesta。 –
@JorgeVegaSánchezde nada。我添加了一個關於重複符號的句子,如果您有多個使用「prueba」類的翻譯單元,這可能很重要。 – juanchopanza