簡體   English   中英

C ++-朋友功能無法在主調用?

[英]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.cppBullCowMain.cpp包含的某些文件中BullCowMain.cpp它。

將此添加到您的標頭中類之外的位置:

int getWins();

另外,在getwins內部,返回應為:

return BullCow::Wins;

感謝@ user4581301!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM