Форум: Форум C++Разное
Новые темы: 00
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: static VS Dev-C++
 
 автор: Фитч   (26.12.2007 в 02:36)   письмо автору
 
 

Следующий код вызывает у Dev-C++ ошибку:

[Linker error] undefined reference to resource_manger::textures

Код:

#include <map>
using namespace std;

class resource_manger
{
 public:
  static bool load_texture(char* psz_name)
  {
   ...
   size_t x = textures.size();
  }
 public:
  static map<char*, texture_t, named_object_t> textures;
};


Классы texture_t и named_object_t объявлены, в named_object_t определен

inline bool operator>(named_object_t& obj);

texture_t наследован от named_object_t

Visual Studio 2005 на код в функции не ругается, подозреваю, что это связано с чем-то в dev-c++

Спасибо за помощь!

  Ответить  
 
 автор: Фитч   (26.12.2007 в 04:55)   письмо автору
 
   для: Фитч   (26.12.2007 в 02:36)
 

Интересно, что глюк исчезает, если сделать функцию inline.
Чем же это может быть вызвано?

  Ответить  
 
 автор: cheops   (26.12.2007 в 04:57)   письмо автору
 
   для: Фитч   (26.12.2007 в 02:36)
 

А textures что из себя представляет? Может библиотечки какие-то не подключены?

  Ответить  
 
 автор: Фитч   (26.12.2007 в 05:18)   письмо автору
 
   для: cheops   (26.12.2007 в 04:57)
 

textures это, как написано в первом посте,

static map<char*, texture_t, named_object_t> textures;

Все библиотеки подключены, если сделать

static inline bool load_texture(char* psz_filename, char* psz_name);

то все заработает, вот только это нехорошее решение получается - компилится-то оно компилится, но негоже вставлять повсюду код загрузки ресурсов.

PS:
texture_t - это просто структура с несколькими переменными.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования