C 程式設計,出現無法解析的外部命令,怎麼回事

2021-05-14 08:40:55 字數 1477 閱讀 1057

1樓:

//client.h

#ifndef _client_

#define _client_

#include

#include

using namespace std;

class client

static void showclientnum();

private:

static string servername;

static int clientnum;

static void changeservername(string newname);

};#endif

//client.cpp

// 此處不能再次使用#ifndef.....#endif// 不然client.h中的內容會被丟棄。就像一樓說的那樣#include "client.h"

#include

#include

using namespace std;

string client::servername="my client";

int client::clientnum=0;

void client::changeservername(string newname)

void client::showclientnum()

2樓:匿名使用者

#include

#include

using namespace std;

#ifndef _client_ //條件包涵錯誤把標頭檔案的定義和方法寫到一起

#define _client_

class client

static void showclientnum();

private:

static string servername;

static int clientnum;

static void changeservername(string newname);

};string client::servername="my client";

int client::clientnum=0;

void client::changeservername(string newname)

void client::showclientnum()

#endif

3樓:為何逸雲

cpp檔案中#ifndef _client_這裡, 你在標頭檔案中定義了,所以你的兩個函式的實現就不包括了。

一般只在標頭檔案中#ifndef _client_這樣做,為了防止重複包含,但是cpp檔案會有誰去包含呢?所以cpp中不需要這樣做。

一般出現不能解析的外部命令,可以看到輸出中有函式名,就可以考慮是有函式有宣告而沒有定義。

C 編譯出現「無法解析的外部命令」錯誤提示

include using namespace std template class seqlist template seqlist seqlist int size template seqlist seqlist t value,int n template seqlist seqlist t...

c 程式設計時為什麼老是出現cout未定義

include using namespace std 加上這句cout輸出流類宣告和定義都在iostream之中 對於非標準c 而言是iostream.h 其名字位於std空間,對於某些編譯器,特別是針對windows平臺的開發工具,都要顯式宣告名稱空間。cout是輸出函式 std是名稱空間,st...

c 程式設計的軟體哪個好,C 程式設計的軟體哪個好?

microsoft visual c 2008 express edition這個是一個官方速成版,適合愛好者 初學者和學生。至於什麼wintc,turoboc之類的想都別想了,太老的編譯器了。而microsoft visual c 6.0也是九幾年的東西了,也很老了,況且對c 標準支援的也不是很好...