Я хочу написать программу со следующей структурой
stdafx.h - содержит некоторые #define определения констант программы и #include заголовков, которые используются во всех проектах.
frmMain.h - связывающий код Form1 также может отображать form2 и использует некоторый код из BckHeadr.h, а некоторые функции вызывают, что заголовки включены в stdafx.h.
frmIniPrgs.h - содержит код формы Form2 и использует некоторый код из BckHeadr.h, а некоторые функции вызывают, что заголовки включены в stdafx.h.
BckHeadr.h - содержит некоторые определения функций, а некоторые функции вызывают, что заголовки включены в stdafx.h.
Я знаю, что я должен использовать директивы #ifndef или #pragma. Но я не могу решить эту проблему. Я включил в stdafx.h: frmIniPrgs.H, BckHeadr.h, frmMain.h. И используйте #ifndef во всех модулях. Я использую это так:
#ifndef MYMODULE_H
#define MYMODULE_H
//module code
#endif
В моем проекте есть следующие ошибки (у меня русская визуальная студия, и текст ошибок переведен google translate и может содержать ошибки, ScnIniPackages - моя функция в BckHeadr.h):
BckHeadr.h (96): error C3861: PtrToStringChars: identifier not found
BckHeadr.h (141): error C2065: vector: undeclared identifier
BckHeadr.h (141): error C2062: type "int" is not required
BckHeadr.h (141): error C2143: syntax error: no ";" before "("
BckHeadr.h (141): error C2447: (: missing function header (possibly using a formal list of old type)
BckHeadr.h (169): error C2065: vector: undeclared identifier
frmIniPrgs.h (119): error C2065: vector: undeclared identifier
frmIniPrgs.h (122): error C3861: ScnIniPackages: identifier not found
frmIniPrgs.h (121): error C2065: vector: undeclared identifier
C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ include \ Wininet.h (381): error C2872: FILETIME: ambiguous symbol
be 'C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ include \ windef.h (377): _FILETIME FILETIME'
or 'c: \ windows \ microsoft.net \ framework \ v2.0.50727 \ mscorlib.dll: System:: Runtime:: InteropServices:: FILETIME'