i have another problem with GUID.
I have a class
class cfg_view_list_t : public cfg_var
{
private:
struct entry
{
pfc::string8 name;
pfc::string8 value;
entry(const char * p_name,const char * p_value) : name(p_name), value(p_value) {}
entry() {}
};
pfc::ptr_list_t<entry> data;
public:
cfg_view_list_t(GUID & name) : cfg_var(name) { reset(); }
~cfg_view_list_t() {data.delete_all();}
virtual bool get_data_raw(stream_writer * out);
virtual void set_data_raw(const void * pdata,int psize);
virtual void reset();
const char * get_name(unsigned idx) const;
const char * get_value(unsigned idx) const;
unsigned find_item(const char * name) const;
inline unsigned add_item(const char * name,const char * value) { return data.add_item(new entry(name,value)); }
inline void remove_item(unsigned idx) { data.delete_by_idx(idx); }
inline void modify_item(unsigned idx,const char * value) { data[idx]->value = value; }
inline unsigned get_count() const {return data.get_count();}
inline void swap(unsigned idx1,unsigned idx2) {data.swap_items(idx1,idx2);}
void format_display(unsigned n,pfc::string_base & out) const;
};
and an instantiation here
// {86099687-5436-482d-BF21-1AD69B3B948A}
static const GUID guid_cfg_view_list =
{ 0x86099687, 0x5436, 0x482d, { 0xbf, 0x21, 0x1a, 0xd6, 0x9b, 0x3b, 0x94, 0x8a } };
cfg_view_list_t cfg_view_list(guid_cfg_view_list);
i have this error
1>c:\program files\microsoft visual studio 8\sdk\foobar2000\foo_uie_lyrics_src_0237\config.cpp(160) : error C2259: 'cfg_view_list_t' : cannot instantiate abstract class
1> due to following members:
1> 'void cfg_var::get_data_raw(foobar2000_io::stream_writer *,foobar2000_io::abort_callback &)' : is abstract
1> c:\program files\microsoft visual studio 8\sdk\foobar2000\sdk\cfg_var.h(14) : see declaration of 'cfg_var::get_data_raw'
1> 'void cfg_var::set_data_raw(foobar2000_io::stream_reader *,t_size,foobar2000_io::abort_callback &)' : is abstract
1> c:\program files\microsoft visual studio 8\sdk\foobar2000\sdk\cfg_var.h(18) : see declaration of 'cfg_var::set_data_raw'
1>c:\program files\microsoft visual studio 8\sdk\foobar2000\foo_uie_lyrics_src_0237\config.cpp(160) : error C2664: 'cfg_view_list_t::cfg_view_list_t(GUID &)' : cannot convert parameter 1 from 'const GUID' to 'GUID &'
1> Conversion loses qualifiers
i tried a few things but nothing works....