I have a void that needs to end a program but a break and return 0 both won't work. Instead I have it cout (1/0). It works but is there an alternative?
Why is it not okay to return void? Most compilers will probably let you (gcc does) but it gives you a warning that you aren't supposed to. Most languages allow you to return void.
Something like
Code: void log(const std::string & txt){ std::cout << txt << std::endl; } //C++ way to do it void bar(int i){
I am trying to add data to a queue with the following simplified code:
Code: typedef struct Queue { void * data; int head; int tail; int elementSize;
My question is, how do I move the queue->data pointer to the correct memory location in order to copy given data to head? The code above inside memcpy gives med the error: "expression must be a pointer to a complete object type".
Do I need an extra pointer to be able to navigate between the queue's head and tail, and keep queue->data as a reference to the first byte of the allocated memory, or is it possible with only queue->data?
Edit. Just noticed I have mixed up head and tail. The enqueued data should probably go to the Queue's tail and not the head. However, the problem is still the same.
I could understand void pointers I created the following program:
Code: #include <stdio.h> #include <string.h> int main(void) {
char word[] = "Zero"; int number = 0; void *ptr = NULL;
[Code] .....
The program works fine, however i really want to fully understand what is going on with the dereferencing of the void pointer, for example: With the following code:
Code: ptr = &number; *((int *)ptr) = 1;
Why can't you just do:
Code: ptr = &number; *(int *)ptr = 1;
And again with this code, (i'm guessing it's becuase its a pointer to a pointer?):
If i declare a function as a void function. But for testing purpose if i use a return statement in the function definition. i have tested and found that the function does not return and executes the entire function. How does the function not return even if a return statement is available? Does the compiler removes this return statement or how it is?
I was reading about void as function argument, but I did not fully understand it's meaning in C.
In C++ void foo(void) {} and void foo() {}
are the same. It means no arguments for foo function. But in C it's different. First function means the same as in C++, but second means
In C, an empty parameter list means that the number and type of the function arguments are unknown. But if it is unknown you can't use this arguments if user specifies same. Because here are no variables to store them. So doesn't result are the some? You do not get any arguments. O do I can get this arguments from some hidden variable?
For example.
void foo() { printf("%d", var); } foo(5);
It is very unclear for me. Do this apply to main function too?
int main(void) int main()
or can I use arguments given to int main() like given to int main(int argc, char* argv[])
My assignment is to write a program using VOID FUNCTIONS WITH AN ARGUMENT.
*I need one non-void function with an argument to generate the first 15 numbers greater than 500, another non-void function with an argument to generate the first 15 perfect squares that are greater than 500. Last, they need to be in columns next to each other.* also i cant use x,y, coordinates to align them. i must create a for loop with the
These are some notes from examples in the class. i just don't know how to do it with non void functions with an argument.
How to declare variable for all void() as I have another void s in my C++ program. I want to have a variable that can use for all the void and not only in a simple void.Is it possible?
I've been trying to get my program to call void functions with an if statement, but when i run my program and try to call one of the functions "worst case, best case, or random case" it doesn't get called. It just prompts the original menu.
#include<iostream> #include<fstream> using namespace std; void bubbleSort(); void selectionSort();
I am making an app thing and basically what it should be doing is creating 12 different variables (about) and outputting one var/another var. but whenever i tell it to do this, it comes out with some random number. like this:
//starting with main.cpp, all of the .h's in the project don't have a corresponding .cpp
list of classes: 1.) Fighter what is your class (type n for next 10)?: 1 what is your level?: 40 Build your enemy: List of races: 1.) Human what is your enemies race?: 1 list of classes: 1.) Fighter what is your enemies class (type n for next 10)?: 1 what is your enemies level?: 40 (lldb)
lldb is basically it saying theres a mathematical issue somewhere. the problem is in the void FightStart() function. its dividing by a 0 when it shouldn't be. what should i do to get this to work.
I want to know how to dereference a void pointer through the way of typing it.
Lets just say that I malloc'd a huge bunch of memory and i can do whatever i want
void* randomData = malloc ( 1000000 );
And i decide to make my own virtual 'int'
I am not sure how to do this.
*( int* ) ( randomData + 10 ) = ( int ) 323453 //323453 can be an int variable aswell
Im not sure if this is the right way to do perform a dereference.
This is an overview of what has to be done: -The pointer has to be dereferenced -Cast the pointer as an int pointer so we can change it like a normal 4-byte int -Perform pointer arithmetic, so that the int can be placed anywhere we want
I want to write a code that gets three values from the user and puts them into three arrays. When the user enters -999, I want to print out a chart showing all the values they put in. This is what I have so far but it wont build. It tells me std::string is requested, but I'm not sure where to put it, and printArrays is declared void. How can I fix this?
#include <iostream> #include <string> using namespace std; const int ARSIZE = 400; void printArrays (string reportTitle, int levelsArray[], int scoresArray[], int starsArray[], int i);