I have the following code. According to this the values of pointers p[0] and p[1] remains unchanged since the swap is made to local variables in swap function.Now my doubt is how can I swap the pointers p[0] and p[1] inside the function swap??
//Declare Variables String lstNme, frstNme, finalGrade; Double pointsEarned, percentage; //Get First Name, Last Name and Score
[Code]....
I am getting the error popping up on the line 58 under the console.writeline...+finalGrade "Error1Use of unassigned local variable 'FinalGrade' The thing i am not understanding is that it is declared
I've simplified things slightly - but the basic point is that both functions are in the same source file and they both have a static std::string called 'x'. Being static, I guess they aren't (strictly) local variables. So how does the compiler know that they're different entities? Does it encode their signatures using the function name or something like that? If I call each function separately I do seem to get the correct string...
I am a little confused while comparing char pointers to integer pointers. Here is the problem:
Consider the following statement; char *ptr = "Hello"; char cArr[] = "Hello";
When I do cout << ptr; it prints Hello, same is the case with the statement cout << cArr;
As ptr and cArr are pointers, they should print addresses rather than contents, but if I have an interger array i.e. int iArr[] = {1, 2, 3};
If I cout << iArr; it displays the expected result(i.e. prints address) but pointers to character array while outputting doesn't show the address but shows the contents, Why??
I have made an application and I have basically solved everything. But the only problem is that I am using global variables because it felt like the smoothest, so my program is built on it.
But now I've read around and I understand that you should not use these(?). Do you think pointers is the best think to use instead?I have previously declared my board array and some variables as global and I want them in alot of functions.I have read and understand the procedure for the use of pointers so I can use my int's in the other functions by doing like this? Code: #include <stdio.h>
int justprint(); int main() { int Row = 2; int Column = 2; int *pRow = &Row; int *pColumn = &Column; [code]...
But how do I do it with an array like this one? If I declare it in the main function, and then want to use it in other functions.Or are there better, easier solutions?
The following function uses reference variables as parameters. Rewrite the function so it uses pointers instead of reference variables, and then demonstrate the function in a complete program.
int doSomething(int &x, int &y) { int temp =x; x = y * 10; y = temp * 10; return x + y; }
I understand how to covert the reference variables to pointers, however I am stuck on this error. Either I get the error listed in the title or (with a few changes) the error "invalid conversion from 'int' to 'int*'"
What am I doing incorrectly?
#include <iostream> using namespace std;
int doSomething(int*, int*);
int main(){ int X, Y, result;
[Code] ....
I have multiplied both x and y by 10 and then added them together!
Here is the result " //I really didn't know how else to use the "doSomething" function in a meaningful way. So... I just stated what the function does.
<< result << ". "; system("PAUSE"); return 0; } int doSomthing(int *x, int *y)
I really do not see the difference between these two declarations:
int myvariable; int * mypointer;
It is said that when you define a pointer, instead of containing actual data, it contains a pointer to the memory location where information can be found.
But doesn't the other variable declaration do the same? It obviously doesn't have data either. And it must be stored in a memory location as well. So I do not see the difference.
I need to find some sort of method to convert a series of char variables to a string, to be shown in a label. I've searched for two days and experimented myself just as long, and the closest I've gotten simply puts ASCII values into the string with the following command:
I'm currently doing the exercises for the fifth chapter (Loops) and I've done all of them, but I wanted to go the extra mile on the last program I'm supposed to design. The program is a poll and all the input from the user will be with numbers. However when a letter is pressed then of course you get wrong behaviour from the program, it keeps looping endlessly.
Here is a fragment of what I think is the way of doing it - but of course it's not working
Code: int p = 0 char anyLetter[]={"abcde"};//Initializing char variable char a = anyLetter[p]; else if (userAnswer[n] == a)//if statement where char needs to be used. { cout << "Pressing a letter maybe? It's only with numbers. Try again." << endl; continue; }
I want to declare a char* array, and then make any future variables declared to be stored in a specific location within the char* array. Is this even possible, and if it is how would I go about doing it. (I plan on storing any primitive data type in it (not classes or structs), and they may signed or unsigned).....
Ive been getting an odd error with this code when I try to compile it, as well as Im not quite sure as how to return my variable "compType" as a char type.
Main #include <iostream> #include "Shape.h" #include <iomanip> #include <cmath>
I want to declare a char* array, and then make any future variables declared to be stored in a specific location within the char* array. Is this even possible, and if it is how would I go about doing it (I plan on storing any primitive data type in it (no classes or structs), and they may signed or unsigned). I want to be able to use the variables like any other variable, I just want the variable's address to be within the char* array.
I am trying to make a program that is similar to a virtual machine and an emulator put together, and it can only run one os (which will be hard-coded into to the program). The reason I wanted to do this is because it would be the easiest way to make sure that all variables in memory are in one contiguous block, that way the part that manages memory wouldn't have to store the locations of each variable (which would have been necessary for the virtual memory manager).
An example of what I am wanting to do is
char* ram [256]; // Address 0x00 to 0xff
// Code to make sure that new variables' addresses are in ram[] if necessary
unsigned short a = 5; // Gets stored at address 0x00
unsigned int b = a; // Gets stored at address 0x00+sizeof(a)
I'm learning OpenGL using the C API and some of the functions' argument types have proven a bit challenging to me.
One example is the function Code: glShaderSource(GLuint shader, GLsizei count, GLchar const** string, GLint const* length); It resides in foo() which receives a vector "data" from elsewhere Code: void foo(std::vector<std::pair<GLenum, GLchar const*>> const& data); To pass the pair's second element to glShaderSource's third argument, I do the following:
1. Can I initialize a char const** via initialization list, the way I do a char const*?
Code:
// this works std::vector<std::pair<GLenum, GLchar const*>> const shader_sources = { {GL_VERTEX_SHADER, "sourcecode"}, {GL_FRAGMENT_SHADER, "sourcecode"} }; // but is this possible?
I'm new with working with random binary files. I have a class with a char* pointer stored inside of it, I also have a constructor that takes in a string (of any size) from the user. I then simply store this string into the char *. Once the string is stored in the char *. I reinterpret the instance, and I store the information into the random binary file. Everything works.
Question: Random files must know the size of the object that is being stored inside of it, so why when I enter strings of different sizes into the file, it appears to still be working. for example this is an example of the code:
class info { private: char *phrase; public: info(string n ="unknown"){ phrase = new char[n.size()+1];
[Code] ....
My point is, lets just say for example the object ETC, was some long string, this would still work for me. My question is, I don't believe each object is the same size because I allocate memory for the char pointer in the constructor.
Should I not do this just to be safe, and just use a char array instead of a pointer? (Even tho I would have set a pre-defined size for the string) or is something happening in the back to prevent this from not working?
The idea is to make an array and have it sort the contents inside the array in order from smallest to greatest by using a swap function. I don't know why it needs to be done this way when a sort function makes the most sense, but it is what it is.
For simplicity I want my array to only include three numbers. I was thinking {18,-2,24}. My only problem is that I am not understanding how to translate the swap function in an array. I tried using my previous swap function from another assignment and translate it to work for an array, but it doesn't work and I am completely lost and stuck. What I tried to do was this: