我对 C 比较陌生(因为我不想使用 C++,或者至少现在还不想),而且我不确定如何解决我遇到的包含错误。
我有一个包含常量值 1000 的头文件,名为 Test。
const int Test = 1000;
我将此文件包含在 2 个文件中 - Myfile.c 和 Myfile2.c 每个都包含以下文件:
#include "MyHeader.h"
我的项目将不会构建/编译,并且我发现它包含两次标题,这是不允许的,因为我两次声明我的变量“测试”。经过研究,我在维基百科上发现了这个:http: //bit.ly/10wPraP
我用了这个“包括守卫”
例子:
#ifndef MY_HEADER
#define MY_HEADER
const int Test = 1000;
#endif
而且我还尝试过一次预处理器(?)命令编译指示。
#pragma once
但是,我的程序仍然无法构建。我现在收到错误消息,说变量“Test”已在 MyFile.obj 中定义。
我认为这可能是我正在使用的 Visual Studio 主义,但我的 2010 Express C++ 和 VS2003 Professional 都不会构建它。我已经尝试在 Visual Studio 中清理项目,但我不确定还能做什么。
我是不是很傻,在这里遗漏了一些明显的东西,这就是为什么它不起作用?
我习惯于 C# 和“使用”命名空间而不是包含。我在 VS 上设置只编译 C 代码会影响这个吗?