当我运行下面的简单代码时,有两个错误,如下所示:
#include <iostream>
#include <string>
using namespace::std;
template <class Type>
class Stack
{
public:
Stack (int max):stack(new Type[max]), top(-1), maxsize(max){}
~Stack (void) {delete []stack;}
void Push (Type &val);
void Pop (void) {if (top>=0) --top;}
Type& Top (void) {return stack[top];}
//friend ostream& operator<< (ostream&, Stack&);
private:
Type *stack;
int top;
const int maxSize;
};
template <class Type>
void Stack <Type>:: Push (Type &val)
{
if (top+1<maxsize)
stack [++top]=val;
}
错误:
MSVCRTD.lib(crtexew.obj):错误LNK2019:函数
___tmainCRTStartup
中引用的未解析外部符号_WinMain@16
我该怎么办?
发布于 2011-12-16 18:24:21
这是一个链接器的问题。
尝试更改-> Linker -> System -> SubSystem的属性(在Visual Studio中)。
从Windows (/SUBSYSTEM:WINDOWS)到控制台(/SUBSYSTEM:CONSOLE)
发布于 2012-01-05 02:37:54
正如前面提到的,您可以将SubSystem更改为Console,错误就会消失。
或者,如果您想保留Windows子系统,您可以只提示您的入口点是什么,因为您还没有定义___tmainCRTStartup
。可以通过将以下内容添加到属性->链接器->命令行来执行此操作
/ENTRY:"mainCRTStartup“
这样,您就可以摆脱控制台窗口。
发布于 2015-03-05 06:07:18
如果您在使用Qt时遇到此问题,则需要链接qtmain.lib或qtmaind.lib
https://stackoverflow.com/questions/6626397
复制相似问题