我想用下一个struct
编写程序stdafx.h - 包含程序常量的#define defenition和所有项目中使用的#include of headers。
frmMain.h - Form1的contatins代码也可以显示form2并使用BckHeadr.h中的一些代码,有些函数调用stdafx.h中包含的头文件。
frmIniPrgs.h - 表示Form2的代码并使用BckHeadr.h中的一些代码,有些函数调用stdafx.h中包含的头文件。
BckHeadr.h - 包含一些函数定义,一些函数调用stdafx.h中包含的头文件。
我知道我必须使用#ifndef或#pragma once指令。但我不能决定这个问题。我包含在stdafx.h中:frmIniPrgs.H,BckHeadr.h,frmMain.h。并在所有模块中使用#ifndef。我喜欢这样:
#ifndef MYMODULE_H
#define MYMODULE_H
//module code
#endif
我的项目中有下一个错误(我有俄语视觉工作室,错误文本是谷歌翻译翻译,可能包含错误,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'
答案 0 :(得分:1)
尝试
#include <vector>
using namespace std;
这可能会解决一些错误(如果不是全部)。
答案 1 :(得分:1)
您必须包含正确的STL标头。
#include <vector>
您还可以将名称空间添加为
using namespace std;
或者使用STL类作为
std::vector<>