Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2011, 18:48   #1
Xenogig
 
Регистрация: 26.10.2010
Сообщений: 5
По умолчанию Ссылка на неразрешенный внешний символ

Само задание - создание бинарного дерева и операции с ним.
В процессе написания возникла ошибка "error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup c:\Users\...\MSVCRTD.lib(crtexew.ob j)"
Не могу найти почему она возникает, помогите
Код программы:

Код:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

struct s_tree {
  int data;
  struct s_tree *left;
  struct s_tree *right;
};

s_tree * AddToTree(s_tree * root, s_tree * elem)
{
	//Первый вход, когда первый элемент - корень дерева
	if(root==0)
	{
		root=elem;
		return root;
	}
	//Если текущий элемент меньше предыдущего, то он отправляется в левую ветвь
	if(root->data < elem->data)
	{
		root->right=AddToTree(root->left, elem);
	}
	else		//иначе в правую ветвь
	{
		root->left=AddToTree(root->right, elem);
	}

	return root;
}

s_tree * GetElem(FILE *fp)
{
	s_tree* elem = (s_tree*) malloc (sizeof(s_tree));
	fscanf(fp, "%d", &elem->data);
	elem->left = 0;
	elem->right = 0;
	return elem;
}

void CreateTree(s_tree *root)
{
	FILE *fp=fopen("in.txt", "r");

	//Пока данные в файле не кончатся, заполняем дерево
	while (!feof(fp))
	{
		s_tree *elem=GetElem(fp);
		root=AddToTree(root, elem);
	}

	return;
}

void main () 
{
	s_tree *root=NULL;
	CreateTree(root);

	getch();
	return;
}
Xenogig вне форума Ответить с цитированием
Старый 07.05.2011, 18:52   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

сменить тип приложения с оконного на консольный
также гооглить "visual c++ create console application"
Rififi вне форума Ответить с цитированием
Старый 07.05.2011, 18:54   #3
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Только что собрал на Visual Studio 2010 EN Ultimate, никаких ошибок линковщика. Другое дело, что возникла runtime ошибка при работе с памятью, но это совсем другое. А проблема в том, что у вас проект создан не как консольное приложение.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 07.05.2011, 18:55   #4
Xenogig
 
Регистрация: 26.10.2010
Сообщений: 5
По умолчанию

Тип приложения и так консольный, создавал пустой проект, а в нем просто один main.cpp
Среда разработки Visual Studio 2010 RU Ultimate
Xenogig вне форума Ответить с цитированием
Старый 07.05.2011, 19:11   #5
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Xenogig

Тип приложения и так консольный

...

внешний символ _WinMain@16

тебя обманули... ):
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup Zhivu igrayuchi Visual C++ 2 25.12.2010 16:48
Определяем внешний IP xil Общие вопросы .NET 15 31.07.2010 19:24
Внешний вид Golovastik SQL, базы данных 2 09.10.2009 18:12
Ссылка на неразрешенный внешний символ(error LNK2019) TheWanderer Общие вопросы C/C++ 2 07.08.2009 19:58
Внешний Ip Enemy Работа с сетью в Delphi 3 20.11.2007 01:00