[英]Conflicting Errors in Visual Studio (C++)
我的項目有一個函數“PrintHeader”,在io.cpp中定義。 即使io.h包含在我的主文件中,我也會收到錯誤
error C3861: 'PrintHeader': identifier not found.
當我將PrintHeader的函數復制到我的主文件中時,我得到了錯誤
error LNK2005: 'void _cdeci PrintHeader(void)" (?PrintHeader@@YAXXZ) already defined in io.obj.
和
error LNK1169: one or more multiply defined symbols found.
我可以理解第二個錯誤集,因為我確實已經定義了兩次,但我不明白為什么當我刪除重復的定義時它不起作用。 任何幫助是極大的贊賞。
主文件
#include "stdio.h"
#include <iostream>
#include "io.h"
void PrintHeader()
{
cout << endl;
cout << "Month\tPrincipal\t Interest\t Balance" << endl;
cout << "-----\t---------\t---------\t---------" << endl;
}
int main()
{
cout << "Hello World\n";
PrintHeader();
getchar();
return 0;
}
io.cpp
#include <iostream>
#include <iomanip>
#include "io.h"
void PrintHeader (void)
{
cout << endl;
cout << "Month\tPrincipal\t Interest\t Balance" << endl;
cout << "-----\t---------\t---------\t---------" << endl;
}
io.h
#ifndef __IO_H__
#define __IO_H__
#include <string>
using namespace std;
void PrintHeader (void);
#endif
您最有可能在main.cpp中包含錯誤的文件。 您可以通過右鍵單擊include "io.h"
並選擇打開文件來確保它是正確的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.