Search Results

Search found 5650 results on 226 pages for 'ref counted pointer'.

Page 26/226 | < Previous Page | 22 23 24 25 26 27 28 29 30 31 32 33  | Next Page >

  • Different types for declaring pointer variables

    - by viswanathan
    Consider the below 2 declarations. appears next to the datatype and not next to variable char* ptr1, * ptr2, * ptr3; //all 3 are pointers appears next to the variable and not next to datatype char *ptr1,*ptr2,*ptr3; //again al 3 are pointers Is there any difference in intepretation between the 2 declarations. I know there is no difference in the variables. What is the rationale behind introducing void pointers?

    Read the article

  • How to treat Base* pointer as Derived<T>* pointer?

    - by dehmann
    I would like to store pointers to a Base class in a vector, but then use them as function arguments where they act as a specific class, see here: #include <iostream> #include <vector> class Base {}; template<class T> class Derived : public Base {}; void Foo(Derived<int>* d) { std::cerr << "Processing int" << std::endl; } void Foo(Derived<double>* d) { std::cerr << "Processing double" << std::endl; } int main() { std::vector<Base*> vec; vec.push_back(new Derived<int>()); vec.push_back(new Derived<double>()); Foo(vec[0]); Foo(vec[1]); delete vec[0]; delete vec[1]; return 0; } This doesn't compile: error: call of overloaded 'Foo(Base*&)' is ambiguous Is it possible to make it work? I need to process the elements of the vector differently, according to their int, double, etc. types.

    Read the article

  • How to change the meaning of pointer access operator

    - by kumar_m_kiran
    Hi All, This may be very obvious question, pardon me if so. I have below code snippet out of my project, #include <stdio.h> class X { public: int i; X() : i(0) {}; }; int main(int argc,char *arv[]) { X *ptr = new X[10]; unsigned index = 5; cout<<ptr[index].i<<endl; return 0; } Question Can I change the meaning of the ptr[index] ? Because I need to return the value of ptr[a[index]] where a is an array for subindexing. I do not want to modify existing source code. Any new function added which can change the behavior is needed. Since the access to index operator is in too many places (536 to be precise) in my code, and has complex formulas inside the index subscript operator, I am not inclined to change the code in many locations. PS : 1. I tried operator overload and came to conclusion that it is not possible. 2. Also p[i] will be transformed into *(p+i). I cannot redefine the basic operator '+'. So just want to reconfirm my understanding and if there are any possible short-cuts to achieve. Else I need fix it by royal method of changing every line of code :) .

    Read the article

  • C++: Reference and Pointer question (example regarding OpenGL)

    - by Jay
    I would like to load textures, and then have them be used by multiple objects. Would this work? class Sprite { GLuint* mTextures; // do I need this to also be a reference? Sprite( GLuint* textures ) // do I need this to also be a reference? { mTextures = textures; } void Draw( textureNumber ) { glBindTexture( GL_TEXTURE_2D, mTextures[ textureNumber ] ); // drawing code } }; // normally these variables would be inputed, but I did this for simplicity. const int NUMBER_OF_TEXTURES = 40; const int WHICH_TEXTURE = 10; void main() { std::vector<GLuint> the_textures; the_textures.resize( NUMBER_OF_TEXTURES ); glGenTextures( NUMBER_OF_TEXTURES, &the_textures[0] ); // texture loading code Sprite the_sprite( &the_textures[0] ); the_sprite.Draw( WHICH_TEXTURE ); } And is there a different way I should do this, even if it would work? Thanks.

    Read the article

  • Callback function and function pointer trouble in C++ for a BST

    - by Brendon C.
    I have to create a binary search tree which is templated and can deal with any data types, including abstract data types like objects. Since it is unknown what types of data an object might have and which data is going to be compared, the client side must create a comparison function and also a print function (because also not sure which data has to be printed). I have edited some C code which I was directed to and tried to template, but I cannot figure out how to configure the client display function. I suspect variable 'tree_node' of class BinarySearchTree has to be passed in, but I am not sure how to do this. For this program I'm creating an integer binary search tree and reading data from a file. Any help on the code or the problem would be greatly appreciated :) Main.cpp #include "BinarySearchTreeTemplated.h" #include <iostream> #include <fstream> #include <string> using namespace std; /*Comparison function*/ int cmp_fn(void *data1, void *data2) { if (*((int*)data1) > *((int*)data2)) return 1; else if (*((int*)data1) < *((int*)data2)) return -1; else return 0; } static void displayNode() //<--------NEED HELP HERE { if (node) cout << " " << *((int)node->data) } int main() { ifstream infile("rinput.txt"); BinarySearchTree<int> tree; while (true) { int tmp1; infile >> tmp1; if (infile.eof()) break; tree.insertRoot(tmp1); } return 0; } BinarySearchTree.h (a bit too big to format here) http://pastebin.com/4kSVrPhm

    Read the article

  • Objective-c pointer assignment and reassignment dilema

    - by moshe
    Hi, If I do this: 1 NSMutableArray *near = [[NSMutableArray alloc] init]; 2 NSMutableArray *all = [[NSMutableArray alloc] init]; 3 NSMutableArray *current = near; 4 current = all; What happens to near? At line 3, am I setting current to point to the same address as near so that I now have two variables pointing to the same place in memory, or am I setting current to point to the location of near in memory such that I now have this structure: current - near - NSMutableArray The obvious difference would be the value of near at line 4. If the former is happening, near is untouched and still points to its initial place in memory. If the latter is happening,

    Read the article

  • C++ arrays as parameters, subscript vs. pointer

    - by awshepard
    Alright, I'm guessing this is an easy question, so I'll take the knocks, but I'm not finding what I need on google or SO. I'd like to create an array in one place, and populate it inside a different function. I define a function: void someFunction(double results[]) { for (int i = 0; i<100; ++i) { for (int n = 0; n<16; ++n) //note this iteration limit { results[n] += i * n; } } } That's an approximation to what my code is doing, but regardless, shouldn't be running into any overflow or out of bounds issues or anything. I generate an array: double result[16]; for(int i = 0; i<16; i++) { result[i] = -1; } then I want to pass it to someFunction someFunction(result); When I set breakpoints and step through the code, upon entering someFunction, results is set to the same address as result, and the value there is -1.000000 as expected. However, when I start iterating through the loop, results[n] doesn't seem to resolve to *(results+n) or *(results+n*sizeof(double)), it just seems to resolve to *(results). What I end up with is that instead of populating my result array, I just get one value. What am I doing wrong?

    Read the article

  • pointer to a structure in a nested structure

    - by dpka6
    I have a 6 levels of nested structures. I am having problem with last three levels. The program compiles fine but when I run it crashes with Segmentation fault. There is some problem in assignment is what I feel. Kindly point out the error. typedef struct { char addr[6]; int32_t rs; uint16_t ch; uint8_t ap; } C; typedef struct { C *ap_info; } B; typedef struct { union { B wi; } u; } A; function1(char addr , int32_t rs, uint16_t ch, uint8_t ap){ A la; la.u.wi.ap_info->addr[6] = addr; la.u.wi.ap_info->rs = rs; la.u.wi.ap_info->ch = ch; la.u.wi.ap_info->ap = ap; }

    Read the article

  • alertDialog.getButton() method gives null pointer exception android

    - by Are
    Hi, Iam planing to give create 3 buttons with layout_weight=1, not interested in custom dialog.So I have written below code.It is not working.Always yes button gives me null. Whats wrong in this code? AlertDialog dialog= new AlertDialog.Builder(this).create(); dialog.setIcon(R.drawable.alert_icon); dialog.setTitle("title"); dialog.setMessage("Message"); dialog.setButton(AlertDialog.BUTTON_POSITIVE,"Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { } }); Button yesButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE); Log.w("Button",""+yesButton);//here getting null LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1f); yesButton.setLayoutParams(layoutParams); dialog.show(); Regards, Android developer.

    Read the article

  • Forcing a templated object to construct from a pointer

    - by SalamiArmi
    I have a fictional class: template<typename T> class demonstration { public: demonstration(){} ... T *m_data; } At some point in the program's execution, I want to set m_data to a big block of allocated memory and construct an object T there. At the moment, I've been using this code: void construct() { *m_data = T(); } Which I've now realised is probably not the best idea... wont work under certain cirumstances, if T has a private assignment operator for example. Is there a normal/better way to do what I'm attempting here?

    Read the article

  • std::string constructor corrupts pointer

    - by computergeek6
    I have an Entity class, which contains 3 pointers: m_rigidBody, m_entity, and m_parent. Somewhere in Entity::setModel(std::string model), it's crashing. Apparently, this is caused by bad data in m_entity. The weird thing is that I nulled it in the constructor and haven't touched it since then. I debugged it and put a watchpoint on it, and it comes up that the m_entity member is being changed in the constructor for std::string that's being called while converting a const char* into an std::string for the setModel call. I'm running on a Mac, if that helps (I think I remember some problem with std::string on the Mac). Any ideas about what's going on?

    Read the article

  • is opening and closing of factory contolled by web.xml?

    - by akshay
    This post is related to post InvalidStateException while trying to enter data into DB. Do i need to put some entries in web.xml?Does web.xml control opening and closing of factory?I saw folloing entries in web.xml of another similar project . <resource-ref> <res-ref-name>jms/XYConnectionFactory</res-ref-name> <res-type>javax.jms.ConnectionFactory</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Unshareable</res-sharing-scope></resource-ref> <resource-env-ref> <resource-env-ref-name>rep/xyAppConfig</resource-env-ref-name> <resource-env-ref-type>java.util.Map</resource-env-ref-type></resource-env-ref> What does this entries do?

    Read the article

  • Auto pointer for unsigned char array?

    - by Gianluca
    I'd need a class like std::auto_ptr for an array of unsigned char*, allocated with new[]. But auto_ptr only calls delete and not delete[], so i can't use it. I also need to have a function which creates and returns the array. I came out with my own implementation within a class ArrayDeleter, which i use like in this example: #include <Utils/ArrayDeleter.hxx> typedef Utils::ArrayDeleter<unsigned char> Bytes; void f() { // Create array with new unsigned char* xBytes = new unsigned char[10]; // pass array to constructor of ArrayDeleter and // wrap it into auto_ptr return std::auto_ptr<Bytes>(new Bytes(xBytes)); } ... // usage of return value { auto_ptr<Bytes> xBytes(f()); }// unsigned char* is destroyed with delete[] in destructor of ArrayDeleter Is there a more elegant way to solve this? (Even using another "popular" library)

    Read the article

  • EXC_BAD_ACCESS when simply casting a pointer in Obj-C

    - by AlexChilcott
    Hi all, Frequent visitor but first post here on StackOverflow, I'm hoping that you guys might be able to help me out with this. I'm fairly new to Obj-C and XCode, and I'm faced with this really... weird... problem. Googling hasn't turned up anything whatsoever. Basically, I get an EXC_BAD_ACCESS signal on a line that doesn't do any dereferencing or anything like that that I can see. Wondering if you guys have any idea where to look for this. I've found a work around, but no idea why this works... The line the broken version barfs out on is the line: LevelEntity *le = entity; where I get my bad access signal. Here goes: THIS VERSION WORKS NSArray *contacts = [self.body getContacts]; for (PhysicsContact *contact in contacts) { PhysicsBody *otherBody; if (contact.bodyA == self.body) { otherBody = contact.bodyB; } if (contact.bodyB == self.body) { otherBody = contact.bodyA; } id entity = [otherBody userData]; if (entity != nil) { LevelEntity *le = entity; CGPoint point = [contact contactPointOnBody:otherBody]; } } THIS VERSION DOESNT WORK NSArray *contacts = [self.body getContacts]; for (NSUInteger i = 0; i < [contacts count]; i++) { PhysicsContact *contact = [contacts objectAtIndex:i]; PhysicsBody *otherBody; if (contact.bodyA == self.body) { otherBody = contact.bodyB; } if (contact.bodyB == self.body) { otherBody = contact.bodyA; } id entity = [otherBody userData]; if (entity != nil) { LevelEntity *le = entity; CGPoint point = [contact contactPointOnBody:otherBody]; } } Here, the only difference between the two examples is the way I enumerate through my array. In the first version (which works) I use for (... in ...), where as in the second I use for (...; ...; ...). As far as I can see, these should be the same. This is seriously weirding me out. Anyone have any similar experience or idea whats going on here? Would be really great :) Cheers, Alex

    Read the article

  • Null Pointer Exception in my BroadcastReceiver class

    - by user1760007
    I want to search a db and toast a specific column on the startup of the phone. The app keeps crashing and getting an exception even though I feel as the code is correct. @Override public void onReceive(Context ctx, Intent intent) { Log.d("omg", "1"); DBAdapter do = new DBAdapter(ctx); Log.d("omg", "2"); Cursor cursor = do.fetchAllItems(); Log.d("omg", "3"); if (cursor.moveToFirst()) { Log.d("omg", "4"); do { Log.d("omg", "5"); String title = cursor.getString(cursor.getColumnIndex("item")); Log.d("omg", "6"); // i = cursor.getInt(cursor.getColumnIndex("id")); Toast.makeText(ctx, title, Toast.LENGTH_LONG).show(); } while (cursor.moveToNext()); } cursor.close(); } The frustrating part is that I don't see any of my "omg" logs show up in logcat. I only see when my application crashes. I get three lines of errors in logcat. 10-19 12:31:11.656: E/AndroidRuntime(1471): java.lang.RuntimeException: Unable to start receiver com.test.toaster.MyReciever: java.lang.NullPointerException 10-19 12:31:11.656: E/AndroidRuntime(1471): at com.test.toaster.DBAdapter.fetchAllItems(DBAdapter.java:96) 10-19 12:31:11.656: E/AndroidRuntime(1471): at com.test.toaster.MyReciever.onReceive(MyReciever.java:26) For anyone interested, here is my DBAdapter fetchAllItems code: public Cursor fetchAllItems() { return mDb.query(DATABASE_TABLE, new String[] { KEY_ITEM, KEY_PRIORITY, KEY_ROWID }, null, null, null, null, null); }

    Read the article

  • Cryptic C++ "thing" (function pointer)

    - by m00st
    What is this syntax for in C++? Can someone point me to the technical term so I can see if I find anything in my text? At first I thought it was a prototype but then the = and (*fn) threw me off... Here is my example: void (*fn) (int&,int&) = x;

    Read the article

  • C++ print value of a pointer

    - by user69514
    I have an array of double pointers, but every time I try do print one of the values the address gets printed. How do I print the actual value? cout << arr[i] ? cout << &arr[i] ? they both print the address Does anyone know?

    Read the article

  • C++ function-pointer and inheritance

    - by pingvinus
    In parent class I have function, that operates under an array of functions, declared in child-class, number of functions for every child-class may vary. But since every function uses some object-variables, I can't declare them as static. I've try to do something like this: class A { public: typedef int (A::*func)(); func * fs; void f() { /*call functions from this->fs*/ } }; class B : public A { public: int smth; B(int smth) { this->smth = smth; this->fs = new func[1]; fs[0] = &B::f; } int f() { return smth + 1; } }; But, obviously it doesn't work. Any suggestions?

    Read the article

  • (gcc) Multi-Dim Array or Double Pointer for Warning-free Compile

    - by paul simmons
    Hi, I have a function, which is called sometimes with regular, sometimes dynamic arrays. If I define the function as function_name(int[10][10] a) and send int** as a parameter, I get a warning. Opposite, if I declare function_name(int** a) and send int[][] as a parameter (after casting) I cannot access to array elements inside function. What is the correctest way?

    Read the article

  • How to find an element in an array in C

    - by gkaykck
    I am trying to find the location of an element in the array. I have tried to use this code i generated for(i=0;i<10;i++) { if (strcmp(temp[0],varptr[i])==0) j=i; } varptr is a pointer which points to array var[11][10] and it is by the definition *varptr[11][10]. I have assigned strings to var[i] and i want to get the "i" number of my element NOT THE ADRESS. Thanks for any comment. EDit: temp is also a pointer which points to the string that i want to check. Also i am using the 2D array for keeping variable names and their address. So yes i want to keep it inside a 2D array. The question is this code is not working at all, it does not assigns i to j, so i wonder where is the problem with this idea? writing a "break" does not change if the code works or not, it just optimizes the code a little. Full Code: #include <stdio.h> #include <string.h> #include <ctype.h> double atof(char*); int main(void) { char in[100], *temp[10],var[11][10],*varptr[11][10]; int i,j, n = 0,fullval=0; double val[11]; strcpy(var[11], "ans"); for(i=0;i<11;i++) { for(j=0;j<10;j++) varptr[i][j]=&var[i][j]; } START: printf("Enter the expression: "); fflush(stdout); for(i=0;i<10;i++) temp[i]=NULL; if (fgets(in, sizeof in, stdin) != NULL) { temp[0] = strtok(in, " "); if (temp[0] != NULL) { for (n = 1; n < 10 && (temp[n] = strtok(NULL," ")) != NULL; n++) ; } if (*temp[0]=="quit") { goto FINISH;} if (isdigit(*temp[0])) { if (*temp[1]=='+') val[0] = atof(temp[0])+atof(temp[2]); else if (*temp[1]=='-') val[0] = atof(temp[0])-atof(temp[2]); else if (*temp[1]=='*') val[0] = atof(temp[0])*atof(temp[2]); else if (*temp[1]=='/') val[0] = atof(temp[0])/atof(temp[2]); printf("%s = %f\n",var[11],val[0]); goto START; } else if (temp[1]==NULL) //asking the value of a variable { for(i=0;i<10;i++) { if (strcmp(temp[0],varptr[i])==0) j=i; } printf("%s = %d\n",var[j],val[j]); goto START; } if (*temp[1]==61) { strcpy(var[fullval], temp[0]); if ((temp[3])!=NULL) { } val[fullval]=atof(temp[2]); printf("%s = %f\n",var[fullval],val[fullval]); fullval++; goto START; } if (*temp[1]!=61) { } } getch(); FINISH: return 0; }

    Read the article

  • Initializing a char array through passed pointer segfaults

    - by Bitgarden
    Ie., why does the following work: char* char_array(size_t size){ return new char[size]; } int main(){ const char* foo = "foo"; size_t len = strlen(foo); char* bar=char_array(len); memset(bar, 0, len+1); } But the following segfaults: void char_array(char* out, size_t size){ out= new char[size]; } int main(){ const char* foo = "foo"; size_t len = strlen(foo); char* bar; char_array(bar, len); memset(bar, 0, len+1); }

    Read the article

  • Typcast a null pointer to char*

    - by user326253
    Suppose I have a char* elem that is supposed to hold a char*, s.t. elem[0] = char*, elem[1...m]= more chars. Is there a way I can put a null ptr within char* elem? When I try to set elem = NULL, it gives me a type error because NULL is an int. Any help would be greatly appreciated!

    Read the article

< Previous Page | 22 23 24 25 26 27 28 29 30 31 32 33  | Next Page >