簡體   English   中英

Visual Studio中的沖突錯誤(C ++)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM