幫助! 我是新來的C++ ... 我該如何解決這個頭文件?C++錯誤:預計有一個'{'
#pragma once
class MyCls2
{
private:
int _i, _j;
public:
MyCls2(int i, int j) : _i(i),
_j(j)
MyCls2(); // error: expected a '{'
~MyCls2(void);
};
這是在MS VC 2010錯誤:
error: expected a '{'
感謝您的幫助,我得到了我現在想:
.H:
#pragma once
class MyCls2
{
private:
int _i, _j;
public:
MyCls2(int i, int j) ;
MyCls2();
~MyCls2(void);
};
.cpp:
#include "StdAfx.h"
#include "MyCls2.h"
MyCls2::MyCls2()
{
}
MyCls2::MyCls2(int i, int j) : _i(i),
_j(j)
{
}
MyCls2::~MyCls2(void)
{
}
驚人的快...謝謝... 但它僅僅是頭文件,所以我認爲它不應該有一個函數體? – 2012-04-14 15:09:24
不,頭文件可以有內聯函數體,而你的語法是隱式內聯的構造函數。 – 2012-04-14 15:12:04
@im_chc:如果你不想在頭文件中定義構造函數,你只需要輸入'MyCls2(int i,int j);'。將啓動列表與構造函數的主體一起放入實現文件中(即使它是空的)。但是,在頭文件中使用構造函數體是沒有問題的,特別是如果它非常短。 – Mat 2012-04-14 15:14:13