C :: Need Of External Keyword In Order To Declare Variables Globally
Jan 30, 2014
I think there is no always need of keyword extern in order to declare variables globally. Is it right?
For example I can declare a variable globally in one file and use it in some other provided that I have included the last one file ( that has the declaration of the variable of course) and compile these files together :
I suspect that C++11 would make it possible to declare high rank vectors such as Code: int N = 15; // chosen arbitrary rank vector<vector<vector<...<vector<double>>>>..> vec; // N layers of nested vectors Is there a way to declare such a vector of rank N (given a fixed integer rank N)?
Heuristically I would like to write the declaration like this: Code:
vector<double> A; vector<A> vec[0]; for(int i=1; i<N; i++) { vector<vec[i-1]> vec[i]; } Is there a way to use the new variadic templates to make this work?
I need making my main function to run while not having any if or for statements. It can only declare variables and functions. Since my main function has command line arguments, how to so.
// This program counts all the words in a given file.
So I need to make a main function have no if/for/etc. statements so I need to move it to another function and call it in main. The problem is that it's a command line argument function so I'm confused on how it works. Here's an example:
Code:
#include <stdio.h> int main(int argc, char* argv[]) { printf("The program name %s", argv[0]); if (argc == 2) { printf("Argument supplied is %s", argv[1]); } else if (argc > 2) { printf("Too many arguments");} else { printf("One argument");} }
How can i make this into two functions with main only declaring variables and calling other functions?
I am trying to compile a c program for sudoku. I have declare const instances as global variables, but when i try to compile the code it says that my declarations are not constant, here is some of the code.
#include <stdio.h> #include <assert.h>
const int GRIDSIZE = 3; const int GRID_SQUARED = GRIDSIZE * GRIDSIZE; //this line const int ALL_VALUES = (1<<GRID_SQUARED)-1; //and this give//the error int board [GRID_SQUARED][GRID_SQUARED];
I'm incrementing the pointer to buffer 150 bytes beyond its reserved 50. I see testwalk, followed by bracketout, followed by bracketin printed by the overflow on buffer.
The memory locations are ordered descending from their call order. Why is this the case?
One would think that they would be written in ascending order as I call them. I can only assume that they're compiled bottom up - where could I read about this process?
Code: class X : public Y { public: virtual int query(int, int); // constructor X(int, int);
[Code] .....
And i construct my M and Nby calling :
Code: X Y(a,b); and afterwords by calling
Code: result = Y (c,d) i get my result.
The problem is I need to be able to call result = Y (c,d) from outside my main function and get results but i don't know how to do this. So I want to be able to do something like this.
If I need a static pointer to a class that is used globally(multiple files), and I only want to allocate memory once.
One way is to create a function that returns a static pointer of type class and call it where ever you need this pointer. My question is there another way to do this like with a header file and include the header file where you need to use the object of type class.
static class* function { static class c; if (c == NULL) { c = new class; } return c }
I currently have globally declared arrays, which are accessed by multiple functions. I want to turn the program so that the arrays are no longer globally declared, but are passed to functions by reference.
I have one problem with passing the arrays: I found that, through debugging, I HAVE TO resize the array when I pass it by reference. For instance, I was using int a[10] when it was globally declared, when it is passed by reference with size 10, it does not work, instead it should be higher than 10 (certain number). Why is this happening? I do not get it...
I need writing my header files for my program of hangman. I've written what I could, but when I try parts out on their own to see if they work, I get errors. I haven't written my driver yet since I wanted to get this header working first. The first function needs to take the name of the file and read in its contents into the globally declared array. The second function takes no arguments and returns a word from the word list chosen at random. I guess my question is, would what I have so far work, or am I completely off? Here's what I have so:
randword.h #ifndef _randword_h #define _randword_h //static char words[100][50]; /* *Function: InitDictionary *This function reads in the dictionary of words and puts them into an array. */ void InitDictionary(void);
I have a circular queue using DLL which is using globally declared pointers. The problem now is that it is not being initialize properly or being cleared thus my code is not working as expected.
In my code you will be asked how many nodes do you wish to enter "i made 2 default for now", after that you may then add or delete the node. add only works now since delete is still on progress.
When you add the nodes "2 nodes by default" the program will only record the latest input so if i were to input 1 and 2, only 2 will be displayed. I know that this maybe because of my *first and *last variables not being initialize properly.
How should i really work with global pointers? Also im really new to project file programming and not a fan of pointers or linked list at all.
main.c Code: void main(){ int ch, number, numdum = 0; n *new, *ptr, *prev, *first, *last; first = NULL; last = NULL; clrscr(); printf("Enter number of nodes: "); scanf("%d", &number);
for starters i hope this question wasn't posted yet.i want to write a small program that askes the user what he wants to do , and then executes the comand in system . But for some reason it doesn't quit on the key word this is the code:
Code:
#include <stdio.h> /*a simple interaction programme that schow the system options*/ #define systemt "x1b[32m" /*changes the color to green for system output*/ #define user "x1b[0m" /*changes the color to white for user input*/ int main() {
[Code]...
Is there something wrong white the code or does the system bock me from reusing the choise string. i'll inculde the original c file as well
class Base { public: virtual ~Base() { cout << "Calling ~Base()" << endl;
[Code]...
Now this program produces the following result:
Calling ~Derived() Calling ~Base()
i was reading online and got stuck here. i am unable to understand why 'calling ~Base()' is been printed here? when we reached delete pbase; in int main() it goes to Base class first and finds that its destructor is virtual so it goes to Derive class and finds another destructor and executes it but why does it prints ~Base() in any case?
I was trying to make a tic tac toe game where the user can play against the computer
It s in borland c++ and not in c++ 11 so i wanted to convert it into c++11. My program shows error since there is nothing called conio.h in c++11. Hence I want to know if there is any alternate keyword gor the function getch() so that i could ask the user to press [ENTER].
Code:
#include<process.h> #include<stdlib.h> #include<string.h> #include<iostream.h> #include<conio.h> int usbox,i,j,nandu=0,result,cusb,cobox,r,d; int playl=0; char copybox[10];
I'm working on a program that reads in a .txt file and searches through the text for a keyword. If it gets a hit on the keyword, the line number where the keyword is located and the line that contains the keyword is printed out. What I have now doesn't catch every occurance of the keyword "a".
Code:
#include <stdio.h> #include <string.h> int main(int argc, char **argv) {
Problem: I have to find the word "NAND" and then find the numbers inside the brackets because they are the inputs to that NAND gate. I have written a code below but that code can detect the fixed number of inputs. I need a code which can detect any number of inputs (whether 2 inputs or more than two). But i don't understand how do i do that?
My code:
Code: string input_str ("INPUT"), output_str ("OUTPUT"), nand_str("NAND"); while (getline( input_file, line )) { std::size_t guard_found = line.find(guard_str);