2014-09-07 23 views

cevap

29

Değişim: çok kez bazı kaynak dosyada daha bu başlık dosyası varsa

#ifndef AAA_HEADER 
#define AAA_HEADER 

#include "stdafx.h" 

class AAA 
{ 
public: 
    std::string strX; 
    std::string strY; 
}; 

#endif 

, bu class redefinition hatayı vermeyecektir yüzden gardiyanlar sadece bir kez bir sınıf oluşturmak için derleyici zorlar dahil .

+0

AAA_HEADER AAA.h dosyasında mı? – user3164272

+2

AAA_HEADER, dosyayı tanımlamak için sadece benzersiz bir dizedir. Http://stackoverflow.com/questions/8020113/c-include-guards adresinde bulunan koruma görevlilerini okuyun – Ashot

2

Önerilen include korumalarına ek olarak, "stdafx.h" başlığını üstbilgiden dışarı taşımanız gerekir. Cpp dosyasının en üstüne koyun. senin AAA.h dosyasının üstüne

#pragma once 

ekleme

15

sorununa dikkat çekmek gerekir. Sen kullanmak gerekir bu

#include "stdafx.h" 
#pragma once 
class AAA 
{ 
public: 
    std::string strX; 
    std::string strY; 
};