Ben yanlış görmüşüm. Üstüne yanlış hatırlamışım.
Ben şöyle söyleyeyim, gerisi sizde olsun.
Bu dosyalarda bu kodlar varken bende çalışıyor. Tek dosyada linker hatası veriyor.
[CODE title="Source.cpp"]#include <iostream>
#include "Gamer.h"
using namespace std;
int main() {
Gamer gamer1;
Gamer gamer2;
Gamer gamer3;
Gamer gamer4;
Gamer gamer5;
cout << "oyuncu sayisi: " << Gamer::gamers << endl;
return 0;
}[/CODE]
[CODE title="Gamer.h"]#pragma once
#include <iostream>
class Gamer{
public:
static int gamers;
Gamer();
};[/CODE]
[CODE title="Gamer.cpp"]#include "Gamer.h"
Gamer::Gamer(){
gamers++;
std::cout << "Yeni oyuncu olusturuldu." << std::endl;
}
int Gamer::gamers = 0;
[/CO
Ben yanlış görmüşüm. Üstüne yanlış hatırlamışım.
Ben şöyle söyleyeyim, gerisi sizde olsun.
Bu dosyalarda bu kodlar varken bende çalışıyor. Tek dosyada linker hatası veriyor.
[CODE title="Source.cpp"]#include <iostream>
#include "Gamer.h"
using namespace std;
int main() {
Gamer gamer1;
Gamer gamer2;
Gamer gamer3;
Gamer gamer4;
Gamer gamer5;
cout << "oyuncu sayisi: " << Gamer::gamers << endl;
return 0;
}[/CODE]
[CODE title="Gamer.h"]#pragma once
#include <iostream>
class Gamer{
public:
static int gamers;
Gamer();
};[/CODE]
[CODE title="Gamer.cpp"]#include "Gamer.h"
Gamer::Gamer(){
gamers++;
std::cout << "Yeni oyuncu olusturuldu." << std::endl;
}
int Gamer::gamers = 0;
[/CODE]
gamer.cpp'de son satırda yaptığınız şeye gerek var mıydı? Sonuçta static değişkeni daha önce tanımlamıştık.