Search Results

Search found 861 results on 35 pages for 'argc'.

Page 14/35 | < Previous Page | 10 11 12 13 14 15 16 17 18 19 20 21  | Next Page >

  • Using typedefs from a template class in a template (non-member) function

    - by atomicpirate
    The following fails to compile (with gcc 4.2.1 on Linux, anyway): template< typename T > class Foo { public: typedef int FooType; }; void ordinary() { Foo< int >::FooType bar = 0; } template< typename T > void templated() { Foo< T >::FooType bar = T( 0 ); } int main( int argc, char **argv ) { return 0; } The problem is with this line: Foo< T >::FooType bar = 0; ...and the compiler makes this complaint: foo.c: In function ‘void templated()’: foo.c:22: error: expected `;' before ‘bar’ Normally one sees this when a type hasn't been declared, but as far as I can tell, Foo< T ::FooType should be perfectly valid inside templated().

    Read the article

  • forward declare static function c++

    - by Matthew Scouten
    I want to forward declare a static member function of a class in another file. What I WANT to do looks like this: BigMassiveHeader.h: class foo { static void init_foos(); } Main.cpp: class foo; void init_foos(); int main(char** argv, int argc) { foo::init_foos() } This fails out with "error C2027: use of undefined type 'tt_py_ns::foo'" Is there a way to accomplish what I want to do with out making init_foos a free function, or including BigMassiveHeader.h? (BigMassiveHeader.h is noticeably effecting compile time, and is included everywhere.)

    Read the article

  • Why does this code read all ' ' for the anything after the 4th character?

    - by djs22
    #define fileSize 100000 int main(int argc, char *argv[]){ char *name=argv[1]; char ret[fileSize]; FILE *fl = fopen(name, "rb"); fseek(fl, 0, SEEK_END); long len = fileSize; fseek(fl, 0, SEEK_SET); //fread(ret, 1, len, fl); int i; *(ret+fileSize) = '\0'; for (i=0; i<fileSize; i++){ *(ret+i)=fgetc(fl); printf("byte : %s \n", ret); } fclose(fl); } In the above code, when I feed the name of a jpeg file, it reads anything after the 4th character as ' '...any ideas? Thanks!

    Read the article

  • Why does gcc add symbols to non-debug build?

    - by Matt Holgate
    When I do a release build with gcc (i.e. I do not specify -g), I still seem to end up with symbols in the binary, and have to use strip to remove them. In fact, I can still breakpoint functions and get backtraces in gdb (albeit without line numbers). This surprised me - can anyone explain why this happens? e.g. #include <stdio.h> static void blah(void) { printf("hello world\n"); } int main(int argc, char *argv[]) { blah(); return 0; } gcc -o foo foo.c nm foo | grep blah: 08048374 t blah

    Read the article

  • Linker library for OpenMP for Snow Leopard?

    - by unknownthreat
    Currently, I am trying out OpenMP on XCode 3.2.2 on Snow Leopard: #include <omp.h> #include <iostream> #include <stdio.h> int main (int argc, char * const argv[]) { #pragma omp parallel printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads()); return 0; } I didn't include any linking libraries yet, so the linker complains: "_omp_get_thread_num", referenced from: _main in main.o "_omp_get_num_threads", referenced from: _main in main.o OK, fine, no problem, I take a look in the existing framework, looking for keywords such as openmp or omp... here comes the problem, where is the linking library? Or should I say, what is the name of the linking library for openMP? Is it dylib, framework or what? Or do I need to get it from somewhere first?

    Read the article

  • A question for retrieve minix os version

    - by majnun
    Hi guys i'm having a project for the university in which (above others ) i have to get the minix os version from kernell call.I'm not a very experienced programmer so this is what i have come to (with some help ) int main (int argc, char *argv[] ) { char M3ca1[23]; message ml; m.m_u.m_m1.m3ca1= OS_VERSION; char temp=_syscall(MM,69,&m); printf("the os version is %c\n",temp); return 0; } and i get multiple errors.IF you have any ideas it would be greatly appreciated.

    Read the article

  • GCC destructor behaviour

    - by joveha
    I've noticed a difference in behaviour for gcc's destructor when compiled under linux and crosscompiled with mingw. On linux the destructor will not get called unless the program terminates normally by itself (returns from main). I guess that kind of makes sense if you take signal handlers into account. On Win32 however, the destructor is called if the program is terminated by say a CTRL-C, but not when killed from the Task Manager. Why is this? And what would you suggest to make the destructor get called no matter how the process terminates - on Win32 in particular? Example code: #include <stdio.h> int main(int argc, char **argv) { printf("main\n"); while(1) {} return 0; } __attribute__((destructor)) static void mydestructor(void) { printf("destructor\n"); }

    Read the article

  • Code crashing compiler...

    - by AndrejaKo
    Hi! I'm experimenting with a piece of C code. Can anyone tell me why is VC 9.0 with SP1 crashing for me? Oh, and the code is meant to be an example used in a discussion why something like void main (void) is evil. struct foo { int i; double d; } main (double argc, struct foo argv) { struct foo a; a.d=0; a.i=0; return a.i; } If I put return a; compiler doesn't crash.

    Read the article

  • Regarding Debugging in Xcode

    - by user185590
    #import <Foundation/Foundation.h> @interface ClassA : NSObject { int x; } -(void) initVar; @end @implementation ClassA -(void) initVar { x = 100; } @end @interface ClassB : ClassA { int y; } -(void) initVar; -(void) printVar; @end @implementation ClassB -(void) initVar { x = 200; y = 300; } - (void) printVar { NSLog(@"x= %i", x ); NSLog(@"y= %i", y); } @end int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; ClassB * b = [[ClassB alloc] init]; [b initVar]; [b printVar]; [b release]; [pool drain]; return 0; }

    Read the article

  • pointer to member function question

    - by Steve
    Hello, I'm trying to replicate a template I've used before with a member function, and it isn't going very well. The basic form of the function is template<class T> T Convert( HRESULT (*Foo)(T*)) { T temp; Foo(&temp); //Throw if HRESULT is a failure return temp; } HRESULT Converter(UINT* val) { *val = 1; return S_OK; } int _tmain(int argc, _TCHAR* argv[]) { std::cout << Convert<UINT>(Converter) << std::endl; return 0; } For the life of me, I can't get this to work with a member variable. I've read up on their syntax, and I can't seem to figure out how to make it work with templates. The class would be something similar to class TestClass { HRESULT Converter(UINT* val) { *val = 1; return S_OK; } }

    Read the article

  • Visual Studio 2005 - VC++ compiler C1001 on Windows 7

    - by Fritz H
    When I try to build a simple "Hello World" C++ app on Windows 7 Beta, using Visual Studio 2005 (VC++2005) I get a rather generic error C1001 error (Internal compiler error) The compiler seems to just crash, and Windows pops up its (un)helpful This program has stopped working dialog. The file it complains about is mcp1.cpp. Has anyone come across this before? Cheers, Fritz EDIT: The code is: #include <iostream> int main(int argc, char** argv) { std::cout << "Hello!"; return 0; } EDIT 2: I have installed SP1 as well as SP1 for Vista. VS popped up a warning saying it needs SP1 for Vista, but installing it makes no difference. No ideas about what I can possibly do to fix this?

    Read the article

  • Glib segfault g_free hash table

    - by Mike
    I'm not quite sure why if I try to free the data I get segfault. Any help will be appreciate it. static GHashTable *hashtable; static void add_inv(char *q) { gpointer old_key, old_value; if(!g_hash_table_lookup_extended(hashtable, q, &old_key, &old_value)){ g_hash_table_insert(hashtable, g_strdup(q), GINT_TO_POINTER(10)); }else{ (old_value)++; g_hash_table_insert(hashtable, g_strdup(q), old_value); g_hash_table_remove (hashtable, q); // segfault g_free(old_key); // segfault g_free(old_value); // segfault } } ... int main(int argc, char *argv[]){ hashtable = g_hash_table_new(g_str_hash, g_str_equal); ... g_hash_table_destroy(hashtable); }

    Read the article

  • Why does it work

    - by A-ha
    Guys I've asked few days ago a question and didn't have really time to check it and think about it, but now I've tried one of the solutions and I can't understand why does it work? I mean why destructor is called at the end of line like this: #include "stdafx.h" #include "coutn.h" #define coutn coutn() int _tmain(int argc, _TCHAR* argv[]) { coutn << "Line one " << 1;//WHY DTOR IS CALLED HERE coutn << "Line two " << " and some text."; return 0; } I assume that it has something to do with lifetime of an object but I'm not sure what and how. As I think of it there are two unnamed objects created but they do not go out of scope so I can't understand for what reason is dtor called. Thank you.

    Read the article

  • sequential mandelbrot image creation

    - by visanio_learner
    can anyone tell me what is wrong in this code? i am getting an error in the main function, when i am calling the 'file_write' method function inside the main function, it says 'y' is not declared in this scope, but actually it was an argument that i have passed it in the method function earlier. is it a serious error? #include <stdio.h> #include <stdlib.h> #include <time.h> unsigned int width = 1500; unsigned int height = 1500; unsigned int max_iterations = 30000; unsigned int **color = NULL; double threshold = 4; double min_re = -2.0; double max_re = 1.0; double min_im = -1.2; double max_im = min_im+(max_re-min_re)*height/width; double x_factor = (max_re-min_re)/(width-1); double y_factor = (max_im-min_im)/(height-1); int file_write(int x, int y, double min_re, double max_im, double x_factor, double y_factor) { FILE *fractal = fopen("mandelbrot_imageSequential.ppm","w+"); if(fractal != NULL) { fprintf(fractal,"P6\n"); fprintf(fractal,"# %s\n", "Mandelbrot_imageSequential.ppm"); fprintf(fractal,"%d %d\n", height, width); fprintf(fractal,"255\n"); unsigned int R = 0, G = 0, B = 0; for(unsigned y = 0; y < height; ++y) { double c_im = max_im - y*y_factor; for(unsigned x = 0; x < width; ++x) { double c_re = min_re + x*x_factor; double Z_re = c_re, Z_im = c_im; bool image_inside = true; R = 0, G = 0, B = 0; for(unsigned n=0; n<max_iterations; ++n) { double Z_re2 = Z_re*Z_re, Z_im2 = Z_im*Z_im; if(Z_re2 + Z_im2 > threshold) { image_inside = false; G = n; if(G == 10) { G = 25, R = 10, B = 5; } break; } Z_im = 2 * Z_re * Z_im + c_im; Z_re = Z_re2 - Z_im2 + c_re; } if(image_inside) { putc(R, fractal); putc(G, fractal); putc(B, fractal); } else { putc(R, fractal); putc(G, fractal); putc(B, fractal); } } } fclose(fractal); return 0; } } int main(int argc, char *argv[]) { if(argc != 9) { printf("There is an error in the input given.\n"); return 0; } else { height = atoi(argv[1]); width = atoi(argv[2]); max_iterations = atoi(argv[3]); min_re = atof(argv[4]); max_re = atof(argv[5]); min_im = atof(argv[6]); max_im = atof(argv[7]); threshold = atoi(argv[8]); } color = (unsigned int**)malloc(height*sizeof(unsigned int*)); printf("height = %d\twidth = %d\tmaximum_iterations = %d\tminimum_x-value = %.2f\tmaximum_x-value = %.2f\tminimum_y-value = %.2f\tmaximum_y-value = %.2f\tthreshold_value = %.2f\t\n",height,width,max_iterations,min_re,max_re,min_im,max_im,threshold); int x; for(x = 0; x < height; x++) { color[x] = (unsigned int*)malloc(width*sizeof(unsigned int)); } time_t ts,te; time(&ts); file_write(x,y,min_re,max_im,x_factor,y_factor); time(&te); double diff = difftime(te,ts); printf("Total Time elapsed: %f\n",diff); for(x = 0; x < height; x++) { free(color[x]); } free(color); return 0; }

    Read the article

  • Printf is not printing anything to output? C++ SDL

    - by Qasim
    I am trying to use "printf" in my Visual C++ project however it is not working. Using Lazy Foo's tutorial, I set up SDL in my project, but when I play it, printf doesnt do anything. #include "SDL.h" #include <stdio.h> int main( int argc, char* args[] ) { printf("Testing"); return 0; } The output looks like this: The program '[4664] SDL Testing.exe: Native' has exited with code 0 (0x0). And that's about it. What could be wrong?

    Read the article

  • Address Book is returning old values

    - by Marcus Wood
    Hi there, I am having a problem with the AddressBook framework. It all seems to be stemming from ABCopyRecordForUniqueId returning a record with old data. Example: I run up the program below in one terminal window - it shows the current data. I make a change through the address book UI - my program continues to show old data. I run up another instance of the same program in a new terminal window - it shows the updated data. I have tried posting on the omnigroup site with no luck :( so any guidance is really appreciated PS: If you would like to try the code, to get an address book ID you can export a contact as a vCard and open it with a text editor int main (int argc, const char * argv[]) { ABAddressBookRef addressBook = ABGetSharedAddressBook(); while(1) { ABRecordRef addressBookRecord = NULL; addressBookRecord = ABCopyRecordForUniqueId(addressBook, CFSTR("4064D587-0378-4DCF-A6B9-D3702F01C94C:ABPerson")); CFShow(addressBookRecord); CFRelease(addressBookRecord); sleep(1); } return 0; }

    Read the article

  • SDL_BlitSurface() not displaying image?

    - by Christian Gonzalez
    So I'm trying to display a simply image with the SDL library, but when I use the function SDL_BlitSurface() nothing happens, and all I get is a black screen. I should also note that I have the .bmp file, the source, and the executable file all in the same directory. //SDL Header #include "SDL/SDL.h" int main(int argc, char* args[]) { //Starts SDL SDL_Init(SDL_INIT_EVERYTHING); //SDL Surfaces are images that are going to be displayed. SDL_Surface* Hello = NULL; SDL_Surface* Screen = NULL; //Sets the size of the window (Length, Height, Color(bits), Sets the Surface in Software Memory) Screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE); //Loads a .bmp image Hello = SDL_LoadBMP("Hello.bmp"); //Applies the loaded image to the screen SDL_BlitSurface(Hello, NULL, Screen, NULL); //Update Screen SDL_Flip(Screen); //Pause SDL_Delay(2000); //Deletes the loaded image from memory SDL_FreeSurface(Hello); //Quits SDL SDL_Quit(); return 0; }

    Read the article

  • Condition Variable in Shared Memory - is this code POSIX-conformant?

    - by GrahamS
    We've been trying to use a mutex and condition variable to synchronise access to named shared memory on a LynuxWorks LynxOS-SE system (POSIX-conformant). One shared memory block is called "/sync" and contains the mutex and condition variable, the other is "/data" and contains the actual data we are syncing access to. We're seeing failures from pthread_cond_signal() if both processes don't perform the mmap() calls in exactly the same order, or if one process mmaps in some other piece of shared memory before it mmaps the sync memory. This example code is about as short as I can make it: #include <sys/types.h> #include <sys/stat.h> #include <sys/mman.h> #include <sys/file.h> #include <stdlib.h> #include <pthread.h> #include <errno.h> #include <iostream> #include <string> using namespace std; static const string shm_name_sync("/sync"); static const string shm_name_data("/data"); struct shared_memory_sync { pthread_mutex_t mutex; pthread_cond_t condition; }; struct shared_memory_data { int a; int b; }; //Create 2 shared memory objects // - sync contains 2 shared synchronisation objects (mutex and condition) // - data not important void create() { // Create and map 'sync' shared memory int fd_sync = shm_open(shm_name_sync.c_str(), O_CREAT|O_RDWR, S_IRUSR|S_IWUSR); ftruncate(fd_sync, sizeof(shared_memory_sync)); void* addr_sync = mmap(0, sizeof(shared_memory_sync), PROT_READ|PROT_WRITE, MAP_SHARED, fd_sync, 0); shared_memory_sync* p_sync = static_cast<shared_memory_sync*> (addr_sync); // init the cond and mutex pthread_condattr_t cond_attr; pthread_condattr_init(&cond_attr); pthread_condattr_setpshared(&cond_attr, PTHREAD_PROCESS_SHARED); pthread_cond_init(&(p_sync->condition), &cond_attr); pthread_condattr_destroy(&cond_attr); pthread_mutexattr_t m_attr; pthread_mutexattr_init(&m_attr); pthread_mutexattr_setpshared(&m_attr, PTHREAD_PROCESS_SHARED); pthread_mutex_init(&(p_sync->mutex), &m_attr); pthread_mutexattr_destroy(&m_attr); // Create the 'data' shared memory int fd_data = shm_open(shm_name_data.c_str(), O_CREAT|O_RDWR, S_IRUSR|S_IWUSR); ftruncate(fd_data, sizeof(shared_memory_data)); void* addr_data = mmap(0, sizeof(shared_memory_data), PROT_READ|PROT_WRITE, MAP_SHARED, fd_data, 0); shared_memory_data* p_data = static_cast<shared_memory_data*> (addr_data); // Run the second process while it sleeps here. sleep(10); int res = pthread_cond_signal(&(p_sync->condition)); assert(res==0); // <--- !!!THIS ASSERT WILL FAIL ON LYNXOS!!! munmap(addr_sync, sizeof(shared_memory_sync)); shm_unlink(shm_name_sync.c_str()); munmap(addr_data, sizeof(shared_memory_data)); shm_unlink(shm_name_data.c_str()); } //Open the same 2 shared memory objects but in reverse order // - data // - sync void open() { sleep(2); int fd_data = shm_open(shm_name_data.c_str(), O_RDWR, S_IRUSR|S_IWUSR); void* addr_data = mmap(0, sizeof(shared_memory_data), PROT_READ|PROT_WRITE, MAP_SHARED, fd_data, 0); shared_memory_data* p_data = static_cast<shared_memory_data*> (addr_data); int fd_sync = shm_open(shm_name_sync.c_str(), O_RDWR, S_IRUSR|S_IWUSR); void* addr_sync = mmap(0, sizeof(shared_memory_sync), PROT_READ|PROT_WRITE, MAP_SHARED, fd_sync, 0); shared_memory_sync* p_sync = static_cast<shared_memory_sync*> (addr_sync); // Wait on the condvar pthread_mutex_lock(&(p_sync->mutex)); pthread_cond_wait(&(p_sync->condition), &(p_sync->mutex)); pthread_mutex_unlock(&(p_sync->mutex)); munmap(addr_sync, sizeof(shared_memory_sync)); munmap(addr_data, sizeof(shared_memory_data)); } int main(int argc, char** argv) { if(argc>1) { open(); } else { create(); } return (0); } Run this program with no args, then another copy with args, and the first one will fail at the assert checking the pthread_cond_signal(). But change the open() function to mmap() the "/sync" memory first and it will all work fine. This seems like a major bug in LynxOS but LynuxWorks claim that using mutex and condition variable in this way is not covered by the POSIX standard, so they are not interested. Can anyone determine if this code does violate POSIX? Or does anyone have any convincing documentation that it is POSIX compliant?

    Read the article

  • vector<string> or vector<char *>?

    - by Aaron
    Question: What is the difference between: vector<string> and vector<char *>? How would I pass a value of data type: string to a function, that specifically accepts: const char *? For instance: vector<string> args(argv, argv + argc); vector<string>::iterator i; void foo (const char *); //*i I understand using vector<char *>: I'll have to copy the data, as well as the pointer Edit: Thanks for input!

    Read the article

  • Why does this give a segmentation fault?

    - by nightcracker
    I'm stunned, why does this code give me a segmentation fault? #include <stdio.h> #define LIMIT 1500000 typedef struct { int p; int a; int b; } triplet; int main(int argc, char **argv) { int i; triplet triplets[LIMIT]; for (i = 0; i < 5; i++) { triplets[i].p = 9; // remove this line and everything works fine } printf("%d\n", triplets[15].p); return 0; } EDIT: After changing LIMIT to 150 I no longer get a segmentation fault, it prints random numbers instead.

    Read the article

  • dangling pointer, reason for value change after free()?

    - by Aman Jain
    In the following code segment, after free(x), why does y becomes 0? As per my understanding, the memory in the heap that was being pointed to by x, and is still being pointed by y, hasn't been allocated to someone else, so how can it change to 0? And moreover, I don't think it is free(x) that changed it to 0. Any comments? #include <stdio.h> int main ( int argc, char *argv[] ) { int *y = NULL; int *x = NULL; x = malloc(4); *x = 5; y = x; printf("[%d]\n", *y); //prints 5 free(x); printf("[%d]\n", *y); //why doesn't print 5?, prints 0 instead return 0; }

    Read the article

  • C: Incompatible types?

    - by Airjoe
    #include <stdlib.h> #include <stdio.h> struct foo{ int id; char *bar; char *baz[6]; }; int main(int argc, char **argv){ struct foo f; f.id=1; char *qux[6]; f.bar=argv[0]; f.baz=qux; // Marked line return 1; } This is just some test code so ignore that qux doesn't actually have anything useful in it. I'm getting an error on the marked line, incompatible types when assigning to type ‘char *[6]’ from type ‘char **’ but both of the variables are defined as char *[6] in the code. Any insight?

    Read the article

  • Which header files are necessary to run this code snippet?

    - by httpinterpret
    It's from here,but fails when compiling: int main(int argc, char **argv) { struct hostent { char *h_name; // main name char **h_aliases; // alternative names (aliases) int h_addrtype; // address type (usually AF_INET) int h_length; // length of address (in octets) char **h_addr_list; // alternate addresses (in Network Byte Order) }; #define h_addr h_addr_list[0] // First address of h_addr_list. struct hostent *info_stackoverflow; int i = 0; info_stackoverflow = gethostbyname( "www.stackoverflow.com" ); printf("The IP address of %s is %s", info_stackoverflow->h_name, inet_ntoa( * ((struct in_addr *)info_stackoverflow->h_addr ))); /* aliases */ while( *(pc_ip->h_aliases + i) != NULL ) { printf("\n\tAlias: %s", *(pc_ip->h_aliases + i) ); i++; } }

    Read the article

  • spidermonkey using JS_CallFunction for static function

    - by supersuraccoon
    JS_CallFunctionName can call a method of an object by name: JSObject* obj; JS_CallFunctionName(cx, obj, "doSomething", argc, vp, retVal); The code above works fine if the "doSomething" is a function declared in the prototype of the "obj". What I want to know is if there is a way to call a function that is a "class function". I tried: if(JS_HasProperty(getGlobalContext(), getGlobalObject(), "ClassToGet", &b)) { print("OK"); } and the output is "OK". But when tried: JS_GetProperty(getGlobalContext(), getGlobalObject(), "ClassToGet", &jsOwner); if (jsOwner != JSVAL_VOID) { } the jsOwner is a JSVAL_VOID. Maybe there is a function in SpiderMonkey can execute function in a JSClass ? Any suggestion will be appreciated, thanks :)

    Read the article

  • Passing a 2D array to a function in C

    - by Tyler Treat
    I have, essentially, a matrix of data (lets say ints) that I would like to store in a 2D array in which the dimensions are not known until runtime (say x columns and y rows). I want to populate the array in a function, so I assume I need to do something like this: int main(int argc, char **argv) { int y = atoi(argv[1]); int x = atoi(argv[2]); int **matrix = malloc(x * sizeof(int*)); populateMatrix(matrix, y, x); return 0; } void populateMatrix(**matrix, int y, int x) { int i, j; for (i = 0; i < y; i++) { for (j = 0; j < x; j++) { matrix[i][j] = i * j; // populated with trivial data to keep it simple } } } Obviously this doesn't work, but I'm not sure how to do what I'm describing exactly.

    Read the article

< Previous Page | 10 11 12 13 14 15 16 17 18 19 20 21  | Next Page >