|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
im running a prog.on linux c BUT keep on gettin warning msgs: Ansii c++ prohibits void* conversion
in the malloc part of the linked list. ex.pNew = malloc(sizeof(structGNodeType)); im also tryin to make a code that given a keyword it will search for its instances in all the Questions(take note that words in the question are seperated by a space)-my code here runs but doesnt seem to get any match though im pretty sure the keyword i entered has a match.anybody help?? int find(ptrGNode pGame) { ptrGNode pTemp; int nCtr,i,j,k,l,m,nVal; str70 strTemp; char sKey[31]; int nFound=0,nWhere; nCtr =0; do{printf("\n\n Enter Keyword:>"); scanf("%s",sKey); if(strlen(sKey)>31) printf("Keyword must only be 30 characters or less"); }while(strlen(sKey)>31); if(sKey[0]=='\0') return(NOT_FOUND); else {pTemp=pGame; j=0; while(pTemp!=NULL) { for(i=0;i<strlen(pTemp->sGame.strQuestions);i++) { while(pTemp->sGame.strQuestions[i]!='\0') { strTemp[j]=pTemp->sGame.strQuestions[i]; j++; } strTemp[j]='\0'; if(!strcmp(strTemp,sKey)) { nFound=1; return(nCtr); } else nCtr++; pTemp=pTemp->pGNext; } } } if(nFound==1) nWhere=nCtr; else nWhere=NOT_FOUND; return(nWhere); } /*Function: view_Keyword * * Purpose: this function displays the question matching the keyword * * Note: Calls the function int find() */ void view_Keyword(ptrGNode pGame,struct_Game sGame) {ptrGNode pTemp; int nNum,nChoice; pTemp=pGame; do {printf("\n ~ ~ ~ ~ ~ VIEW KEYWORD ~ ~ ~ ~ ~ \n"); nNum = find(pGame); if( nNum==-1) printf("not found!"); else display_Question(pTemp->sGame); printf(" Would you like to look up another(1-yes/0-no)?"); scanf("%d",&nChoice); if(nChoice==1) view_Keyword(pGame,sGame); else if(nChoice==0) view_Question(pGame,sGame); else puts(ERROR); }while(nChoice==1); |
|
#2
|
|||
|
|||
|
new and alloc function return void* pointers.
since your struct/class member pNew likely has a different type you have to explicitly typeconfvert. Say pNew is a pooiinter to int write: ex.pNew = (int*) malloc (...); |
|
#3
|
|||
|
|||
|
ive already tried fixin the errors ......already fixed but how come it generateda segmentation fault whats worng with my code or what might have possibly caused it?
![]() |
|
#4
|
|||
|
|||
|
segmentation fault seams to indicate that you're accessing data you shouldn't. This points to either pointers or indices.
In your 3.lvl while - loop while(pTemp->sGame.strQuestions[i]!='\0') you don't increment 'i' so you got an infinite loop. I don't really understand your code so i can't tell you what the correct version should look like. Hope it helps ![]() |
![]() |
| Viewing: Dev Shed Forums > Programming Languages > C Programming > whats this warning mean?and how to search keyword... |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|