Rhe*_*xis 1 c++ templates namespaces visual-c++
我收到此错误:当我尝试编译我的c ++控制台应用程序时,' 函数_ _tmainCRTStartup '中未解析的外部符号main.我做了一些搜索,我发现只是将我的'链接器'从窗口改为控制台,反之亦然.这没用,我甚至尝试创建一个新的控制台应用程序.
我不确定导致这种情况的原因,是否可能template <typename T>导致混淆,因为它出现在两个文件中?这里的任何帮助将不胜感激.
代码如下:
Main.cpp的:
#include <iostream>
#include "tools.h"
using namespace tools;
template <typename T>
int main()
{
T input1;
T input2;
std::cout << "Enter in 1st number: " << endl;
std::cin >> input1;
std::cout << "Enter in 2nd number: " << endl;
std::cin >> input2;
std::cout << "num1 - num2 = [" << numberDifference(input1, input2) << "]" << endl;
getchar();
getchar();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
的Tools.h:
#include <iostream>
namespace tools
{
template <typename T>
T numberDifference(T num1, T num2)
{
if(num1 > num2)
return num1 - num2;
else
return num2 - num1;
}
};
Run Code Online (Sandbox Code Playgroud)
删除函数的template定义main.
或者至少从正确的main功能中调用它.
例如
template< typename T >
int templated_main( int c, char** argv )
{
// What was in your original main function....
}
int main( int c, char** argv )
{
return templated_main<int>( c, argv );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2390 次 |
| 最近记录: |