rusyska55011
@rusyska55011

Ссылка на неразрешенный внешний символ в Си?

Компилятор ругается на неразрешенную внешнюю ссылку create_snake. Если вставить функции напрямую в main.c, то ошибки не будет

snake.h
#pragma once
#include "..\my_library\mylist.h"

typedef struct snake {
	int head_position_y;
	int head_position_x;
	list* body;
} snake;

void push_back_snake_element(list* this_snake, const int position_y, const int position_x);

void delete_back_snake_element(list* this_snake, const int index);

int get_snake_len(list* this_snake);

int* get_element_yx(list* this_list, const int index);

list* create_snake(const int position_y, const int position_x);


snake.c
#include "snake.h"
#include "stdlib.h"

#include "..\my_library\mylist.h"


void push_back_snake_element(list* this_snake, const int position_y, const int position_x) {
	int* new_xy_area = (int*)malloc(2);
	new_xy_area[0] = position_y;
	new_xy_area[1] = position_x;
	
	append_node(this_snake, new_xy_area);
}

void delete_back_snake_element(list* this_snake, const int index) {
	int* element_data = (int*)get_node_data(this_snake, index);
	delete_node(this_snake, index);
	free(element_data);
}

int get_snake_len(list* this_snake) {
	return get_list_count(this_snake);
}

int* get_element_yx(list* this_list, const int index) {
	return (int*)get_node_data(this_list, index);
}

list* create_snake(const int position_y, const int position_x) {
	list* new_snake = new_list();
	
	push_back_snake_element(new_snake, position_y, position_x);
	
	return new_snake;
}


main.c
#include "include/snake.h"

int main() {

	create_snake(4, 4);

	return 0;
}
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы