有人可以帮我解决这个错误
我在visual studio 2013 express中的源文件下有两个文件 main.cpp和Variables.cpp
以下是代码
ERROR SCREENSHOT WARNING AND ERROR SCREENSHOT
的main.cpp
#include <iostream>
#include "Variables.cpp"
using namespace std;
int main()
{
int a = 3;
cout << "Hello World" << endl;
cout << "The value of a: " << a << endl;
getchar();
return 0;
}
Variables.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
//Declaring Variables
int a = 3;
float b = 33.3;
double c = 223.334;
char d = 'i';
string e = "This is a test text !";
//Printing
cout << "The value of a: " << a << endl;
cout << "The value of b: " << b << endl;
cout << "The value of c: " << c << endl;
cout << "The value of d: " << d << endl;
cout << "The value of e: " << e << endl;
//Show Msg
getchar();
return 0;
}
错误
警告1
警告C4305:&#39;初始化&#39; :截断来自&#39; double&#39;到&#39;漂浮&#39; c:\ users \ iifra \ documents \ visual studio 2013 \ projects \ testproject001 \ testproject001 \ variables.cpp 11 1 TestProject001
错误2
错误C2084:function&#39; int main(void)&#39;已经有一个正文c:\ users \ iifra \ documents \ visual studio 2013 \ projects \ testproject001 \ testproject001 \ main.cpp 6 1 TestProject001
警告3
警告C4305:&#39;初始化&#39; :截断来自&#39; double&#39;到&#39;漂浮&#39; c:\ users \ iifra \ documents \ visual studio 2013 \ projects \ testproject001 \ testproject001 \ variables.cpp 11 1 TestProject001
答案 0 :(得分:1)
将Variables.cpp中存在的函数main()
的名称更改为任何其他名称。
您不能在同一项目下使用两个main()函数,因为您的OS在运行项目时会找到项目中的主函数。在这里操作系统会混淆哪个主要功能首先调用。
答案 1 :(得分:0)
这是一个初学者的问题。两个方面:
e.g:
主要来源:
// main.cpp
#include <iostream>
#include "variables.hpp"
int main()
{
int a = 3;
std::cout << "Hello World" << std::endl;
std::cout << "The value of a: " << a << std::endl;
//invoke f
f();
//getchar();
return 0;
}
变量标题:
//variables.hpp
void f();
变量来源:
//variables.cpp
#include <iostream>
#include "variables.hpp"
void f()
{
std::cout << "Bla" << std::endl;
}
编译器将它们视为两个转换单元并创建两个obj文件(即main.obj和variables.obj),链接器将它们合并为一个exe。
您正在使用Visual Studio。将头文件放在头文件夹下,将cpp文件放在源文件夹下。