我想知道如何在包含两个文件的同时从另一个文件调用一个函数,该函数与另一个文件中的函数同名。 例如:
的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?
答案 0 :(得分:3)
假设函数是在相应的.cpp
文件中定义的,即一个在a.cpp
中定义,一个在b.cpp
中定义,则不会发生这种情况。尝试链接代码后,您将收到start()
定义两次的错误。因此,您无需如何调用其中一个;除非两个函数相同(即在同一个cpp文件中定义),否则代码将无论如何都不会链接。如果是这种情况,则调用哪一个(因为只有一个)并不重要。