проблема с CString
class CCd : public CMultimedia
{
DECLARE_SERIAL(CCd)
public:
CString m_strSinger;
CString m_strAlbum;
CString m_strGenre;
CString m_strReleaseYear;
CCd() : m_strSinger (""),
m_strAlbum (""),
m_strGenre (""),
m_strReleaseYear ("")
();
}
В обработчике кнопки диалогового окна:
CCd* pCCd = new CCd;
pCd->m_strSinger = m_strSinger;
Вылетает ошибка: Access violation.
А если иcпользовать конструктор с параметрами, то все работает.
В чем дело?
Скорее всего проблема в m_strSinger (который не в классе) откуда он берется...
Этот код работает нормально (после исправления опечаток)
Цитата:
Originally posted by Winnie
По такому коду сложно что-то сказать...
Скорее всего проблема в m_strSinger (который не в классе) откуда он берется...
Этот код работает нормально (после исправления опечаток)
По такому коду сложно что-то сказать...
Скорее всего проблема в m_strSinger (который не в классе) откуда он берется...
Этот код работает нормально (после исправления опечаток)
Да должен работать нормально, но не хочет!
m_strSinger - член класса CView, причем проверял на NULL и всякое такое - нормально.
классе ?
Цитата:
Originally posted by cozy
Есть класс:
В обработчике кнопки диалогового окна:
CCd* pCCd = new CCd;
pCd->m_strSinger = m_strSinger;
Вылетает ошибка: Access violation.
Есть класс:
В обработчике кнопки диалогового окна:
CCd* pCCd = new CCd;
pCd->m_strSinger = m_strSinger;
Вылетает ошибка: Access violation.
1. проверь имя переменной (в одном случае используешь - pCCd, а в другом - pCd). Хотя думаю, что это просто опечатка.
2. Я так понял, что в конструкторе по умолчанию, ты пытаешься сделать строку нулевой величины?
попробуй сделать так:
CCd() : m_strSinger ("/0"),
m_strAlbum ("/0"),
m_strGenre ("/0"),
m_strReleaseYear ("/0")
();