1樓:匿名使用者
那個*p不能用 類的private成員 不能你這麼初始化的
2樓:匿名使用者
#include
using namespace std ;
class time
void settime(int h, int m, int s);
}; //error1 少;
void time::settime(int h, int m, int s) //error2 少void
void time::settime(int h, int m, int s) //error2 少void
int main()
3樓:王愛飛
class time
void settime(int h, int m, int s);
}time:: settime(int h, int m, int s)
void main()
關於c++編譯錯誤的乙個問題
4樓:匿名使用者
c++ 中所有類中的靜態變數宣告,需要對其進行定義。
你需要找乙個cpp檔案,在你的例子中,最好是csingleton.cpp 中,加上一行
static csingleton *csingleton::m_pinstance = null;
樓下兩個說的都不對哦,對c++的理解有問題。
並不是需要初始化。類的定義中的變數宣告只是宣告,並沒有「定義」。宣告是指明變數的型別,訪問修飾等等。而定義是指真正給變數定義其儲存空間。
類中的非靜態成員變數,只需要宣告,因為其「定義」也就是定義其真正記憶體空間的過程,是在類例項物件建立的過程中做的。
但是類中的靜態成員變數,因為不是類例項物件的結構組成部分,所以需要預先「定義」,也就是為其分配儲存空間,因為他是靜態變數,所以要在全域性空間定義。
至於是否初始化,只是影響執行中的邏輯狀態,也就是說,如果不初始化,會導致這個變數的初始值是隨機的,那麼在 if(csingleton::m_pinstance == null) 這個判斷的時候會產生不可**的結果,但是編譯時只會報警告,鏈結也不會報錯。
5樓:
你好,類的靜態成員變數是需要在類外初始化的,你沒有初始化。
#include
class csingleton
static csingleton *m_pinstance;
public:
static csingleton * getinstance();
};//初始化
csingleton * csingleton::m_pinstance = null;
csingleton * csingleton::getinstance()
using namespace std;
int main()
6樓:戚文柏
//靜態成員變數必須要初始化才能使用,在int main()上面新增"csingleton* csingleton::m_pinstance = null;"就可以了.
在c++中 自己定義了乙個類標頭檔案 編譯時卻報錯找不到該檔案,怎麼解決呢
7樓:匿名使用者
你把關鍵的**省略了.
最簡單的辦法,把
***class vrecruit //(*為省略的**){public:
vrecruit();
*****
private:
*****
vrecruit::vrecruit()
{***
}***
這些**拷貝到
#include"vrecruit.h"
這裡,把
#include"vrecruit.h"刪除
8樓:匿名使用者
vrecruit.h和1.cpp不在同乙個資料夾
放到乙個資料夾就行了
9樓:再改名我發火
請確定的你的頭檔名沒有打錯
10樓:何霸王
你看看你的標頭檔案在不在同乙個資料夾裡,
c語言編譯錯誤,C語言編譯錯誤什麼意思?
錯誤的初始化。二維指標陣列的初始化。const char c 4 20 你初始化有問題吧 二維陣列沒必要用指標了吧 那就成三維陣列了。新手在學習c語言並編譯程式時編譯錯誤怎麼辦 1 確定出錯的行號。如果是乙個比較好的整合編譯環境的話,一般雙擊編譯錯誤,滑鼠都會自動跳轉到該行並高亮顯示。沒有這個功能也...
c語言編譯錯誤c1010該怎麼解決
在編譯vc 6.0是,出現fatal error c1010 unexpected end of file while looking for precompiled header directive 的錯誤.解決方法 1 如果發生錯誤的檔案是由其他的c 檔案新增進入當前工程而引起的,則alt f7...
C語言的編譯錯誤,大家幫幫忙!急
這樣就沒錯了 include include define list init size 100 define listincrement 10 define ok 1 define error 1 typedef structsqlist typedef int status status ini...