這是我的頭文件。我試圖編譯這個,但我得到了一個錯誤在void init(TipMatrice tip)「初始化'void graf_matrice :: init(graf_matrice :: TipMatrice)'''的參數1,它將我重定向到另一個轉換錯誤。我認爲它的錯誤與我的枚舉。int C++類的轉換無效
#ifndef GRAF_MATRICE_H
#define GRAF_MATRICE_H
class graf_matrice
{
public:
static const int MaxN = 50; // numarul maxim de noduri
static const int Infinit = 99999; // nu exista drum intre noduri
enum TipMatrice
{
MatriceAdiacenta = 1,
MatriceCosturi = 2
};
public:
graf_matrice();
void init(TipMatrice tip); //iniţializare graf
};
#endif // GRAF_MATRICE_H
這是我的主要。我在g.init(1)「int無效轉換爲graf_matrice :: TipMatrice」時出錯。
#include <iostream>
#include"graf_matrice.h"
using namespace std;
int main()
{
graf_matrice g;
g.init(1);
return 0;
}
你能幫我這個因爲我不知道什麼是錯的。對不起,語言差的初學者。在未範圍enum
(這裏TipMatrice
)普查員(這裏MatriceAdiacenta
)定義爲:
爲什麼不'g.init(graf_matrice :: MatriceAdiacenta);'?否則'TipMatrice'枚舉的目的不明確 –
是的。它的工作。非常感謝你..我永遠不會想到這件事..這很容易 –
你可以使'MaxN'和'Infinit'成爲'enum'值而不是靜態const intts –