呼叫類函式指標引起的編譯器錯誤 C2064

2021-06-04 07:43:58 字數 846 閱讀 5099

錯誤訊息 項不會計算為接受「number」個引數的函式

通過表示式呼叫了函式。該表示式未計算為函式指標。

下面的示例生成 c2064:

// c2064.cpp

int i, j;

char* p;

void func()

下面的示例生成 c2064:

// c2064b.cpp

struct c

void func2(){}};

typedef void (c::*pfunc)();

int main() ;

(funcarray[0])(); // c2064

}

可能的解決方法:

// c2064c.cpp

struct c

void func2(){}};

typedef void (c::*pfunc)();

int main() ;

(c.* funcarray[0])();

}

下面的示例生成 c2064:

// c2064d.cpp

struct c

void func2(){}

c()

void func3()

};

可能的解決方法:

// c2064e.cpp

// compile with: /c

struct c

void func2(){}

c()

void func3()

};

編譯器預設實現的類成員函式

以下幾種情況編譯會生成類成員函式情況如下 include include include 編譯器為我們實現了幾個類成員函式?class empty empty e empty b e empty d empty b d empty f b empty operator 取址運算子 const emp...

C 編譯器的函式編譯流程

c 中的型別查詢過程相對簡單,基本上就是名字查詢,這裡不再介紹。對於 cpp 檔案中呼叫的乙個函式 或成員函式 編譯器主要做了下面三件事情 1 名字查詢 先在所在編譯單元中可見名字實體中進行名字查詢 1 類成員函式優先 物件所在的類 基類 一 經找到就停止查詢 2 如果沒有 在相應的名字空間中做進一...

C 編譯器的函式編譯流程

c 中的型別查詢過程相對簡單,基本上就是名字查詢,這裡不再介紹。對於 cpp 檔案中呼叫的乙個函式 成員函式 編譯器主要做了下面三件事情 1 名字查詢 先在所在編譯單元中可見名字實體中進行名字查詢 1 類成員函式優先 物件所在的類 基類 一經找到就停止查詢 如果沒有 2 在相應的名字空間中做進一步的...