|
|
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
Работаю над созданием базового класса, который в будущем будет расширяться (inheritance). Вот его весьма упрощенный вид: // example.h class example { public: virtual bool occurence(int) const; }; При компилировании выдает ошибку: Project error LNK2001: unresolved external symbol "public: virtual bool __thiscall example::occurence(int)const " (?occurence@example@@UBE_NHHH@Z) Обычно такую ошибку выдает когда имеется function prototype, но отсутствует definition (сорь что на инглише - на русском не знаю как их называют), но дело в том, что сам тип virtual говорит о том, что самого кода не должно быть в данном классе, т.к. код будет писаться уже в вытекающих классах, типа этого: class test : public example Компилятор: MS Visual Studio .NET 2003 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 15:26 |
|
||
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
virtual не тип и говорит он не об этом. Учите матчасть. Если нужно ЧИСТО виртуальную функцию: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 15:31 |
|
||
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
Обычно такую ошибку выдает когда имеется function prototype, но отсутствует definition (сорь что на инглише - на русском не знаю как их называют), но дело в том, что сам тип virtual говорит о том, что самого кода не должно быть в данном классе, т.к. код будет писаться уже в вытекающих классах для абстрактного класса функции должны быть pure virtual // example.h class example { public: virtual bool occurence(int) const = 0 ; }; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 15:32 |
|
||
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
Скажу вдобавок что классы, разработанные для наследования, должны иметь виртуальный деструктор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 15:35 |
|
||
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
авторvirtual не тип и говорит он не об этом. Учите матчасть Сорь, на русском не знаю как они называются... авторУчите матчасть Чем, в общем-то, и занимаюсь :) авторvirtual bool occurence(int) const = 0 Попробовал - выдает ту же ошибку :( Если закомментю или просто удалю эту строчку - всё компилируется нормально... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 15:37 |
|
||
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
авторСкажу вдобавок что классы, разработанные для наследования, должны иметь виртуальный деструктор Вот это что-то новое! Спасибо за наколку, запомню! :) С ошибкой разобрался. Фактически сделал то, что советовали первые 2 камрада: virtual bool occurence(int) const { return false }; не знал что все равно нужно определение давать :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 15:44 |
|
||
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
не знал что все равно нужно определение давать :( что-то вы не договариваете.. этот код компилируется и линкуется на ура (MSVS2003) может вы пытались создать объект данного типа? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 16:38 |
|
||
|
error LINK2001: unresolved external symbol
|
|||
|---|---|---|---|
|
#18+
Всё договариваю :) Чтобы было проще, выкладываю полный код класса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. Вот. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Как есть :) Еще вот одна странная вещь: в классе Appointment, пока вначале не укажу using std::string и т.д. - тоже не хочет компилироваться :/ Не знаю, может у меня компайлер коряво установлен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=359&tid=2031478]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 366ms |

| 0 / 0 |
