[英]C++ - Friend function unable to be called in main?
我在使用多文件設置時遇到了麻煩。 我在Visual Studio中工作,由於某種原因,我的班級中的朋友函數未在main中定義。 任何幫助,將不勝感激,謝謝。
BullCow.h:
#pragma once
#include <iostream>
#include <cstdlib>
#include <stdlib.h>
#include <time.h>
class BullCow {
public:
BullCow();
friend int getWins();
static int Wins;
private:
int Attempts;
};
BullCow.cpp:
#include "stdafx.h"
#include "BullCow.h"
int BullCow::Wins = 0;
int getWins() {
return Wins;
}
BullCowMain.cpp:
#include "stdafx.h"
#include "BullCow.h"
int main()
{
srand(time(NULL));
std::cout << getWins();
return 0;
}
注意:這是一個不完整的程序,因此尚未使用某些代碼(商標)。 我只是將所有內容都包括在內,以更好地幫助您找出問題所在。
getWins()
至少需要在.h
文件中聲明。
由於它是朋友,因此getWins()
不是該類的成員,因此必須直接在BullCowMain.cpp
或BullCowMain.cpp
包含的某些文件中BullCowMain.cpp
它。
將此添加到您的標頭中類之外的位置:
int getWins();
另外,在getwins
內部,返回應為:
return BullCow::Wins;
感謝@ user4581301!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.