Search Results

Search found 10366 results on 415 pages for 'const char pointer'.

Page 20/415 | < Previous Page | 16 17 18 19 20 21 22 23 24 25 26 27  | Next Page >

  • C++ class with char pointers returning garbage

    - by JMP
    I created a class "Entry" to handle Dictionary entries, but in my main(), I create the Entry() and try to cout the char typed public members, but I get garbage. When I look at the Watch list in debugger, I see the values being set, but as soon as I access the values, there is garbage. Can anyone elaborate on what I might be missing? #include <iostream> using namespace std; class Entry { public: Entry(const char *line); char *Word; char *Definition; }; Entry::Entry(const char *line) { char tmp[100]; strcpy(tmp, line); Word = strtok(tmp, ",") + '\0'; Definition = strtok(0,",") + '\0'; } int main() { Entry *e = new Entry("drink,What you need after a long day's work"); cout << "Word: " << e->Word << endl; cout << "Def: " << e->Definition << endl; cout << endl; delete e; e = 0; return 0; }

    Read the article

  • C Programming - Passing a pointer to array

    - by Pedro
    How do I pass a pointer value to an array of the struct; For example, on a txt I have this: John Doe;[email protected];214425532; My code: typedef struct Person{ char name[100]; char email[100]; int phone; }PERSON; int main(){ PERSON persons[100]; FILE *fp; char *ap_name; char *ap_email; char *ap_phone; char line[100]; fp=("text.txt","r"); if(fp==NULL){ exit(1); } else{ fgets(line,100,fp); ap_name=strtok(line,";"); ap_email=strtok(NULL,";"); ap_phone=strtok(NULL,";"); } return 0; } My question is how can I pass the value of ap_name, ap_email, ap_phone to the struct? And, do I need to use all of these pointers?

    Read the article

  • Copy object using pointer (templates)

    - by Azodious
    How the push_back of stl::vector is implemented so it can make copy of any datatype .. may be pointer, double pointer and so on ... I'm implementing a template class having a function push_back almost similar to vector. Within this method a copy of argument should be inserted in internal memory allocated memory. but the argument is a pointer. (an object pointer). Can you pls tell how to create copy from pointer. so that if i delete the pointer in caller still the copy exists in my template class? Code base is as follows: template<typename T> class Vector { public: void push_back(const T& val_in) { T* a = *(new T(val_in)); m_pData[SIZE++] = a; } } Caller: Vector<MyClass*> v(3); MyClass* a = new MyClass(); a->a = 0; a->b = .5; v.push_back(a); delete a; Thanks.

    Read the article

  • why no implicit conversion from pointer to reference to const pointer.

    - by user316606
    I'll illustrate my question with code: #include <iostream> void PrintInt(const unsigned char*& ptr) { int data = 0; ::memcpy(&data, ptr, sizeof(data)); // advance the pointer reference. ptr += sizeof(data); std::cout << std::hex << data << " " << std::endl; } int main(int, char**) { unsigned char buffer[] = { 0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22, }; /* const */ unsigned char* ptr = buffer; PrintInt(ptr); // error C2664: ... PrintInt(ptr); // error C2664: ... return 0; } When I run this code (in VS2008) I get this: error C2664: 'PrintInt' : cannot convert parameter 1 from 'unsigned char *' to 'const unsigned char *&'. If I uncomment the "const" comment it works fine. However shouldn't pointer implicitly convert into const pointer and then reference be taken? Am I wrong in expecting this to work? Thanks!

    Read the article

  • Static struct in C++

    - by pingvinus
    Hi, I want to define an structure, where some math constants would be stored. Here what I've got now: struct consts { //salt density kg/m3 static const double gamma; }; const double consts::gamma = 2350; It works fine, but there would be more than 10 floating point constants, so I doesn't want to wrote 'static const' before each of them. And define something like that: static const struct consts { //salt density kg/m3 double gamma; }; const double consts::gamma = 2350; It look fine, but I got these errors: 1. member function redeclaration not allowed 2. a nonstatic data member may not be defined outside its class I wondering if there any C++ way to do it?

    Read the article

  • Separating null byte separated UNICODE C string.

    - by Ramblingwood
    First off, this is NOT a duplicate of: http://stackoverflow.com/questions/1911053/turn-a-c-string-with-null-bytes-into-a-char-array , because the given answer doesn't work when the char *'s are Unicode. I think the problem is that because I am trying to use Unicode and thus wchar_t instead of char, the length of each character is different and thus, this doesn't work (it does in non-unicode): char *Buffer; // your null-separated strings char *Current; // Pointer to the current string // [...] for (Current = Buffer; *Current; Current += strlen(Current) + 1) printf("GetOpenFileName returned: %s\n", Current); Does anyone have a similar solution that works on Unicode strings? I have been banging my head on the this for over 4 hours now. C doesn't agree with me.

    Read the article

  • What is the registry key for 'Enhanced Pointer Precision' option in the Mouse Properties

    - by detj
    I use a Razer mouse at work, and though the mouse is supercool, it's driver always removes the 'Enhanced Pointer Precision' option from the Pointer Options tab found in the Mouse Properties of Control Panel on startup. If I could find the correct registry setting to set this option 'on' whenever Windows starts, it would solve my problem. I've tried finding the correct key using Process Monitor, I didn't get success. Anyone know the key??

    Read the article

  • Moving Powerpoint callout pointer

    - by masher
    How can I move the pointer (the diagonal line) in a callout in Powerpoint? I want the pointer at the textbox to point to the middle, not the upper third. I would post a pic, but I don't have enough reputation, look here instead. edit: I'm using PP 2003.

    Read the article

  • How does a template class inherit another template class?

    - by hkBattousai
    I have a "SquareMatrix" template class which inherits "Matrix" template class, like below: SquareMatrix.h: #ifndef SQUAREMATRIX_H #define SQUAREMATRIX_H #include "Matrix.h" template <class T> class SquareMatrix : public Matrix<T> { public: T GetDeterminant(); }; template <class T> // line 49 T SquareMatrix<T>::GetDeterminant() { T t = 0; // Error: Identifier "T" is undefined // line 52 return t; // Error: Expected a declaration // line 53 } // Error: Expected a declaration // line 54 #endif I commented out all other lines, the files contents are exactly as above. I receive these error messages: LINE 49: IntelliSense: expected a declaration LINE 52: IntelliSense: expected a declaration LINE 53: IntelliSense: expected a declaration LINE 54: error C2039: 'GetDeterminant' : is not a member of 'SquareMatrix' LINE 54: IntelliSense: expected a declaration So, what is the correct way of inheriting a template class? And what is wrong with this code? The "Matrix" class: template <class T> class Matrix { public: Matrix(uint64_t unNumRows = 0, uint64_t unNumCols = 0); void GetDimensions(uint64_t & unNumRows, uint64_t & unNumCols) const; std::pair<uint64_t, uint64_t> GetDimensions() const; void SetDimensions(uint64_t unNumRows, uint64_t unNumCols); void SetDimensions(std::pair<uint64_t, uint64_t> Dimensions); uint64_t GetRowSize(); uint64_t GetColSize(); void SetElement(T dbElement, uint64_t unRow, uint64_t unCol); T & GetElement(uint64_t unRow, uint64_t unCol); //Matrix operator=(const Matrix & rhs); // Compiler generate this automatically Matrix operator+(const Matrix & rhs) const; Matrix operator-(const Matrix & rhs) const; Matrix operator*(const Matrix & rhs) const; Matrix & operator+=(const Matrix & rhs); Matrix & operator-=(const Matrix & rhs); Matrix & operator*=(const Matrix & rhs); T& operator()(uint64_t unRow, uint64_t unCol); const T& operator()(uint64_t unRow, uint64_t unCol) const; static Matrix Transpose (const Matrix & matrix); static Matrix Multiply (const Matrix & LeftMatrix, const Matrix & RightMatrix); static Matrix Add (const Matrix & LeftMatrix, const Matrix & RightMatrix); static Matrix Subtract (const Matrix & LeftMatrix, const Matrix & RightMatrix); static Matrix Negate (const Matrix & matrix); // TO DO: static bool IsNull(const Matrix & matrix); static bool IsSquare(const Matrix & matrix); static bool IsFullRowRank(const Matrix & matrix); static bool IsFullColRank(const Matrix & matrix); // TO DO: static uint64_t GetRowRank(const Matrix & matrix); static uint64_t GetColRank(const Matrix & matrix); protected: std::vector<T> TheMatrix; uint64_t m_unRowSize; uint64_t m_unColSize; bool DoesElementExist(uint64_t unRow, uint64_t unCol); };

    Read the article

  • taglib link errors

    - by Vihaan Verma
    I m using taglib for one of my projects . The Debug/Release library is build using MSVC 10. On compiling the code with the library in taglib/taglib/Release some linker error are thrown . id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class TagLib::AudioPropertie s * __cdecl TagLib::FileRef::audioProperties(void)const " (__imp_?audioProperties@FileRef@TagLib@@QEBAPEAVAudioProp erties@2@XZ) referenced in function "struct MetaData __cdecl ID3::getMetaDataOfFile(class std::basic_string<char,st ruct std::char_traits<char>,class std::allocator<char> >)" (?getMetaDataOfFile@ID3@@YA?AUMetaData@@V?$basic_string@ DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl TagLib::Stri ng::~String(void)" (__imp_??1String@TagLib@@UEAA@XZ) referenced in function "struct MetaData __cdecl ID3::getMetaDa taOfFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getMetaDataOfF ile@ID3@@YA?AUMetaData@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string<char ,struct std::char_traits<char>,class std::allocator<char> > __cdecl TagLib::String::to8Bit(bool)const " (__imp_?to8 Bit@String@TagLib@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z) referenced in function "struct MetaData __cdecl ID3::getMetaDataOfFile(class std::basic_string<char,struct std::char_traits<char>,class s td::allocator<char> >)" (?getMetaDataOfFile@ID3@@YA?AUMetaData@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator @D@2@@std@@@Z) id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl TagLib::File Ref::~FileRef(void)" (__imp_??1FileRef@TagLib@@UEAA@XZ) referenced in function "struct MetaData __cdecl ID3::getMet aDataOfFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getMetaData OfFile@ID3@@YA?AUMetaData@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class TagLib::Tag * __cdecl TagLib::FileRef::tag(void)const " (__imp_?tag@FileRef@TagLib@@QEBAPEAVTag@2@XZ) referenced in function "struct Meta Data __cdecl ID3::getMetaDataOfFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator <char> >)" (?getMetaDataOfFile@ID3@@YA?AUMetaData@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ) id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl TagLib::FileRef ::isNull(void)const " (__imp_?isNull@FileRef@TagLib@@QEBA_NXZ) referenced in function "struct MetaData __cdecl ID3: :getMetaDataOfFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getM etaDataOfFile@ID3@@YA?AUMetaData@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl TagLib::FileRef::Fil eRef(class TagLib::FileName,bool,enum TagLib::AudioProperties::ReadStyle)" (__imp_??0FileRef@TagLib@@QEAA@VFileName @1@_NW4ReadStyle@AudioProperties@1@@Z) referenced in function "struct MetaData __cdecl ID3::getMetaDataOfFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getMetaDataOfFile@ID3@@YA?AU MetaData@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) id3.cpp.1.o : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl TagLib::FileName::Fi leName(char const *)" (__imp_??0FileName@TagLib@@QEAA@PEBD@Z) referenced in function "struct MetaData __cdecl ID3:: getMetaDataOfFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getMe taDataOfFile@ID3@@YA?AUMetaData@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) I m only including tag.lib from taglib/taglib/Release folder . Is there some other library I m missing out?

    Read the article

  • Creating rapid function overloads in C++

    - by DeadMG
    template<typename Functor, typename Return, typename Arg1, typename Arg2, typename Arg3, typename Arg4, typename Arg5, typename Arg6, typename Arg7, typename Arg8, typename Arg9, typename Arg10> class LambdaCall : public Instruction { public: LambdaCall(Functor func ,unsigned char constructorarg1 ,unsigned char constructorarg2 ,unsigned char constructorarg3 ,unsigned char constructorarg4 ,unsigned char constructorarg5 ,unsigned char constructorarg6 ,unsigned char constructorarg7 ,unsigned char constructorarg8 ,unsigned char constructorarg9 ,unsigned char constructorarg10) : arg1(constructorarg1) , arg2(constructorarg2) , arg3(constructorarg3) , arg4(constructorarg4) , arg5(constructorarg5) , arg6(constructorarg6) , arg7(constructorarg7) , arg8(constructorarg8) , arg9(constructorarg9) , arg10(constructorarg10) , function(func) {} void Call(State& state) { state.Push<Return>(func(*state.GetRegisterValue<Arg1>(arg1) ,*state.GetRegisterValue<Arg1>(arg1) ,*state.GetRegisterValue<Arg2>(arg2) ,*state.GetRegisterValue<Arg3>(arg3) ,*state.GetRegisterValue<Arg4>(arg4) ,*state.GetRegisterValue<Arg5>(arg5) ,*state.GetRegisterValue<Arg6>(arg6) ,*state.GetRegisterValue<Arg7>(arg7) ,*state.GetRegisterValue<Arg8>(arg8) ,*state.GetRegisterValue<Arg9>(arg9) ,*state.GetRegisterValue<Arg10>(arg10) )); } Functor function; unsigned char arg1; unsigned char arg2; unsigned char arg3; unsigned char arg4; unsigned char arg5; unsigned char arg6; unsigned char arg7; unsigned char arg8; unsigned char arg9; unsigned char arg10; }; Then again for every possible number of arguments I want to support, and again for void returns. Any way to do this faster?

    Read the article

  • Friendly way to override `const`-overloaded member function?

    - by xtofl
    Given a base class class A { int i; public: int& f(){ return i;} const int& f() const { return i;} }; And a sub class class ConstA : private A { public: const int& f() const { return A::f(); } }; Is there a wrist-friendly way to access the ConstA::f method on a non-const variable? ConstA ca; int i = ca.f(); // compile error: int& A::f() is not accessible since A is privately inherited int j = static_cast<const ConstA&>(ca).f(); // this works, but it hurts a little... Or is it so ugly since hiding A::f generally is a bad idea, violating the Liskov Substitution Principle: any subclass of A must at least be capable of all A's functionality? void set( A& a, int i ) { a.f() = i; } class ConstA2 : public A { private: int& f(){ return A::f(); } }; ConstA2 ca2; set( ca2, 1 ); (Note: this question popped up while thinking about this question)

    Read the article

  • template pass by const reference

    - by 7vies
    Hi, I've looked over a few similar questions, but I'm still confused. I'm trying to figure out how to explicitly (not by compiler optimization etc) and C++03-compatible avoid copying of an object when passing it to a template function. Here is my test code: #include <iostream> using namespace std; struct C { C() { cout << "C()" << endl; } C(const C&) { cout << "C(C)" << endl; } ~C() { cout << "~C()" << endl; } }; template<class T> void f(T) { cout << "f<T>" << endl; } template<> void f(C c) { cout << "f<C>" << endl; } // (1) template<> void f(const C& c) { cout << "f<C&>" << endl; } // (2) int main() { C c; f(c); return 0; } (1) accepts the object of type C, and makes a copy. Here is the output: C() C(C) f<C> ~C() ~C() So I've tried to specialize with a const C& parameter (2) to avoid this, but this simply doesn't work (apparently the reason is explained in this question). Well, I could "pass by pointer", but that's kind of ugly. So is there some trick that would allow to do that somehow nicely? EDIT: Oh, probably I wasn't clear. I already have a templated function template<class T> void f(T) {...} But now I want to specialize this function to accept a const& to another object: template<> void f(const SpecificObject&) {...} But it only gets called if I define it as template<> void f(SpecificObject) {...}

    Read the article

  • c incompatible types in assignment, problem with pointers?

    - by Fantastic Fourier
    Hi I'm working with C and I have a question about assigning pointers. struct foo { int _bar; char * _car[MAXINT]; // this is meant to be an array of char * so that it can hold pointers to names of cars } int foofunc (void * arg) { int bar; char * car[MAXINT]; struct foo thing = (struct foo *) arg; bar = arg->_bar; // this works fine car = arg->_car; // this gives compiler errors of incompatible types in assignment } car and _car have same declaration so why am I getting an error about incompatible types? My guess is that it has something to do with them being pointers (because they are pointers to arrays of char *, right?) but I don't see why that is a problem. when i declared char * car; instead of char * car[MAXINT]; it compiles fine. but I don't see how that would be useful to me later when I need to access certain info using index, it would be very annoying to access that info later. in fact, I'm not even sure if I am going about the right way, maybe there is a better way to store a bunch of strings instead of using array of char *?

    Read the article

  • OS X mouse pointer speed varies with different mouse

    - by Stan
    OS X Snow Leopard It seems that when using different mice on OS X may have different pointer speed and scrolling speed. For example, when using my Logitech basic laser mouse, the pointer speed is like normal. But when using MX Performance or Anywhere, it's very slow, I will have to adjust the pointer speed in mouse configuration to max. Even with max, it's still a bit slow. Basically, just feel the plug and play on OS X is terrible. I need re-adapt to it every single time. This is not the case on Windows OS. Also, the mouse scrolling speed varies with different mouse too. But usually they are all very slow, usually scroll 1 line at a time. If I adjust it in mouse configuration, it turns to scroll too much lines. I have Logitech official mouse driver (LCC) installed. But either tuning in LCC or mouse configuration doesn't make things better. Has anyone have similar issue? How to resolve it? Please advise, thanks.

    Read the article

  • C++: Retriving values of static const variables at a constructor of a static variable

    - by gilbertc
    I understand that the code below would result segmentation fault because at the cstr of A, B::SYMBOL was not initialized yet. But why? In reality, A is an object that serves as a map that maps the SYMBOLs of classes like B to their respective IDs. C holds this map(A) static-ly such that it can provide the mapping as a class function. The primary function of A is to serve as a map for C that initializes itself at startup. How should I be able to do that without segmentation fault, provided that I can still use B::ID and B::SYMBOL in the code (no #define pls)? Thanks! Gil. class A { public: A() { std::cout<<B::ID<<std::endl; std::cout<<B::SYMBOL<<std::endl; } }; class B { public: static const int ID; static const std::string SYMBOL; } const int B::ID = 1; const std::string B::SYMBOL = "B"; class C { public: static A s_A; }; A C::s_A; int main(int c, char** p) { }

    Read the article

  • sizeof abuse : get the size of a const table

    - by shodanex
    When declaring a const table, it is possible to get the size of the table using sizeof. However, once you stop using the symbol name, it does not work anymore. is there a way to have the following program output the correct size for table A, instead of 0 ? #include <stdio.h> struct mystruct { int a; short b; }; const struct mystruct tableA[] ={ { .a = 1, .b = 2, }, { .a = 2, .b = 2, }, { .a = 3, .b = 2, }, }; const struct mystruct tableB[] ={ { .a = 1, .b = 2, }, { .a = 2, .b = 2, }, }; int main(int argc, char * argv[]) { int tbl_sz; const struct mystruct * table; table = tableA; tbl_sz = sizeof(table)/sizeof(struct mystruct); printf("size of table A : %d\n", tbl_sz); table = tableB; tbl_sz = sizeof(tableB)/sizeof(struct mystruct); printf("size of table B : %d\n", tbl_sz); return 0; } Output is : size of table A : 0 size of table B : 2

    Read the article

  • Simplest way to automatically alter "const" value in Java during compile time

    - by Michael Mao
    Hi all: This is a question corresponds to my uni assignment so I am very sorry to say I cannot adopt any one of the following best practices in a short time -- you know -- assignment is due tomorrow :( link to Best way to alter const in Java on StackOverflow Basically the only task (I hope so) left for me is the performance tuning. I've got a bunch of predefined "const" values in my single-class agent source code like this: //static final values private static final long FT_THRESHOLD = 400; private static final long FT_THRESHOLD_MARGIN = 50; private static final long FT_SMOOTH_PRICE_IDICATOR = 20; private static final long FT_BUY_PRICE_MODIFIER = 0; private static final long FT_LAST_ROUNDS_STARTTIME = 90; private static final long FT_AMOUNT_ADJUST_MODIFIER = 5; private static final long FT_HISTORY_PIRCES_LENGTH = 10; private static final long FT_TRACK_DURATION = 5; private static final int MAX_BED_BID_NUM_PER_AUC = 12; I can definitely alter the values manually and then compile the code to give it another go around. But the execution time for a thorough "statistic analysis" usually requires over 2000 times of execution, which will typically lasts more than half an hour on my own laptop... So I hope there is a way to alter values using other ways than dig into the source code to change the "const" values there, so I can automatically distributed compiled code to other people's PC and let them run the statistic analysis instead. One other reason for a automatically value adjustment is that I can try using my own agent to defeat itself by choosing different "const" values. Although my values are derived from previous history and statistical results, they are far from the most optimized values. I hope there is a easy way so I can quickly adopt that so to have a good sleep tonight while the computer does everything for me... :) Any hints on this sort of stuff? Any suggestion is welcomed and much appreciated.

    Read the article

  • why BOOST_FOREACH cannot handle const boost::ptr_map?

    - by psaghelyi
    void main() { typedef boost::ptr_map<int, char> MyMap; MyMap mymap; mymap[1] = 'a'; mymap[2] = 'b'; mymap[3] = 'c'; BOOST_FOREACH(MyMap::value_type value, mymap) { std::cout << value.first << " " << value.second << std::endl; } MyMap const & const_mymap = mymap; BOOST_FOREACH(MyMap::value_type value, const_mymap) { std::cout << value.first << " " << value.second << std::endl; } } The following error message comes from GCC at the second BOOST_FOREACH error: conversion from 'boost::ptr_container_detail::ref_pair<int, const char* const>' to non-scalar type 'boost::ptr_container_detail::ref_pair<int, char* const>' requested I reckon that this is the weakness of the pointer container's ref_pair...

    Read the article

  • How do you return a pointer to a base class with a virtual function?

    - by Nick Sweet
    I have a base class called Element, a derived class called Vector, and I'm trying to redefine two virtual functions from Element in Vector. //element.h template <class T> class Element { public: Element(); virtual Element& plus(const Element&); virtual Element& minus(const Element&); }; and in another file //Vector.h #include "Element.h" template <class T> class Vector: public Element<T> { T x, y, z; public: //constructors Vector(); Vector(const T& x, const T& y = 0, const T& z =0); Vector(const Vector& u); ... //operations Element<T>& plus(const Element<T>& v) const; Element<T>& minus(const Element<T>& v) const; ... }; //sum template <class T> Element<T>& Vector<T>::plus(const Element<T>& v) const { Element<T>* ret = new Vector((x + v.x), (y + v.y), (z + v.z)); return *ret; } //difference template <class T> Element<T>& Vector<T>::minus(const Element<T>& v) const { Vector<T>* ret = new Vector((x - v.x), (y - v.y), (z - v.z)); return *ret; } but I always get error: 'const class Element' has no member named 'getx' So, can I define my virtual functions to take Vector& as an argument instead, or is there a way for me to access the data members of Vector through a pointer to Element? I'm still fairly new to inheritance polymorphism, fyi.

    Read the article

  • Add static const data to a struct already defined

    - by Kyle
    Since static const data inside a class is really just namespace sugar for constants I would think that struct A { float a; struct B { static const int b = a; }; }; would be equivalent to struct A { float a; }; struct A::B { static const int b = a; }; or something similar. Is something like this possible in C++? It would be useful for me to be able to tag class definitions that I'm pulling in from third party libraries with information like this.

    Read the article

  • Qt: QAbstractItemModel and 'const'

    - by Eye of Hell
    Hello. I'm trying to use a QTreeView for a first time, with a QAbstractItemModel. And instantly it's a problem: QAbstractItemModel interface declares methods as 'const', assuming they will not change data. But i want a result of SQL query displayed, and returning data for a record with specified indeq REQUIRES to use QSqlQuery::seek() that is a non-const. Is it any 'official' guideline to use a QAbstractItemModel with data that MUST be changed in order to get number of items, data per item etc? Or i must hack C++ with const casts?

    Read the article

  • How to discard const in c++

    - by Vincenzo
    This is what I'm trying to do and I can't: #include <string> using namespace std; class A { bool has() const { return get().length(); } string& get() { return s; } private: string s; }; The error I'm getting is: passing ‘const A’ as ‘this’ argument of ‘std::string& A::get()’ discards qualifiers I understand what the problem is, but how can I fix it? I really need has() to be const. Thanks.

    Read the article

< Previous Page | 16 17 18 19 20 21 22 23 24 25 26 27  | Next Page >