C ++当包含两个文件时,如何从另一个文件中调用与另一个文件中的函数同名的函数?

时间:2014-06-17 10:15:45

标签: c++ function

我想知道如何在包含两个文件的同时从另一个文件调用一个函数,该函数与另一个文件中的函数同名。 例如:

的main.cpp

#include "a.h"
#include "b.h"

using namespace std;

int main()
{
start();
return 0;
}

A.H

#ifndef _A_H
#define _A_H
#pragma once
int start();

#endif

a.cpp

#include "stdafx.h"

using namespace std;

int start()
{
//code here
return 0;
}

b.h

#ifndef _B_H
#define _Win32_H
#pragma once
int start();

#endif

b.cpp

#include "stdafx.h"

using namespace std;

int start()
{
//code here
return 0;
}

start();在main.cpp中将使用start();从a.h但我希望它使用start();来自b.h 如何选择start();在b.h?

1 个答案:

答案 0 :(得分:3)

假设函数是在相应的.cpp文件中定义的,即一个在a.cpp中定义,一个在b.cpp中定义,则不会发生这种情况。尝试链接代码后,您将收到start()定义两次的错误。因此,您无需如何调用其中一个;除非两个函数相同(即在同一个cpp文件中定义),否则代码将无论如何都不会链接。如果是这种情况,则调用哪一个(因为只有一个)并不重要。