我已經在cpp中寫了一個類Seat &我聲明瞭一個函數指針吧。 類執行力度給出下面C++中的函數指針聲明
Seat.cpp
#include "StdAfx.h"
#include "Seat.h"
int Seat::count = FL;
Seat::Seat(void)
{
seatId = Seat::count;
seatStatus = unoccupied;
Seat::count++;
}
Seat::~Seat(void)
{
}
void Seat::*checkSeatStatus(void)
{
}
Seat.h
#include <string>
using namespace std;
class Seat :
public Vehicle
{
int seatId;
int seatStatus;
static int count;
public:
Seat(void);
~Seat(void);
void (*checkSeatStatus)();
};
它示出了在函數指針聲明錯誤:
'checkSeatStatus':非法使用類型'void'
背後的原因是什麼? ,它是否需要函數指針的任何初始化?
您將'checkSeatStatus'聲明爲成員*變量*而不是成員函數。因此,它應該被初始化爲指向一些可調用的函數,但它應該沒有函數體。 checkSeatStatus的目的是什麼?它應該是一個真正的成員函數嗎?它應該是一個變量? –
它是一個成員函數 –
所以它不應該是一個成員變量,而是一個成員函數,*方法*?它應該返回什麼? 「通用指針」(即「void *」)?什麼都沒有(即'void')?還有別的東西?我們應該做什麼? –