以下是代码结构:
产生以下错误:
ArrayStack.h
#ifndef ARRAY_STACK_H
#define ARRAY_STACK_H
#include "Array.h"
// class ArrayStack
#endif
ArrayStack.cpp
#include "ArrayStack.h"
// ArrayStack's methods
Array.h
#ifndef ARRAY_HEADER
#define ARRAY_HEADER
#include <iostream>
// class Array
#endif
Array.cpp
#include "Array.h"
// Array's methods
main.cpp
#include "ArrayStack.h"
int main() {
return 0;
}
产生以下错误:
LNK1169 找到一个或多个重复定义的符号
LNK2005 _main 已在 Array.obj 中定义
问题是什么? 请注意,当第一次将Array.cpp
包含在项目中时,它确实在自身中定义了 int main()
,但现在已经没有了(ArrayStack.cpp
也没有)。此外,当省略 main.cpp
中的 int main()
时,代码编译得很好...
dir /b /s *.obj
查看您可能错过的内容。如果您没有错过任何内容,那么我就没有答案。因此这是一条注释。 - user4581301