C/C++ :: Return A Pointer To The Vector
Jul 30, 2014
Ok here is the code
//assuming that all the directives have been included here
void ptrPointer(vector<string>* const p, int n);
int main() {
vector<string> inventory;
vector.push_back("sword");
vector.push_back("knife");
[Code] .....
Well...my question is how come the last statement or cout statement to be accurate won't work and display? Since we can do something like this below?
string text = "some text";
string *p = &text;
cout << p;
I passed the address of the vector to the function. And then display the address. It is a pretty common operation. But it just won't work. But then we do something simple similar to that of the vector. But it works.
View 6 Replies
ADVERTISEMENT
Jun 7, 2012
I have a cpp app that reads in a number of files and writes revised output. The app doesn't seem to be able to open a file with a ' in the file name, such as,
N,N'-dimethylethylenediamine.mol
This is the function that opens the file :
Code:
// opens mol file, reads in rows to string vector and returns vector
vector<string> get_mol_file(string& filePath) {
vector<string> mol_file;
string new_mol_line;
// create an input stream and open the mol file
ifstream read_mol_input;
read_mol_input.open( filePath.c_str() );
[Code] ....
The path to the file is passed as a cpp string and the c version is used to open the file. Do I need to handle this as a special case? It is possible that there could be " as well, parenthesis, etc.
View 9 Replies
View Related
Apr 1, 2013
Here is what's up:
struct Square {int number, myClass* myclass};
int main() {
vector<myClass> classes;
myClass unrelated;
classes.push_back(unrelated);
Square newClass = {3, &classes.at(0)};
.
.
.
myClass is a class I have. Now, in the class, I have a function what_value and I need to get the classes.at(0) from the pointer to it in another function. But the problem is, how can I do it? I'm completely stumped, here's what I thought of:
newClass.*myclass.what_value();
And it I get an error from the compiler. Basically, how can I do this in another function with a pointer:
classes.at(0).what_value();
View 1 Replies
View Related
Mar 6, 2015
Here is the part of my code that I need to return two values. I am working on a roulette program and I need to return the choice and the number they are betting on. How can I use a pointer to achieve this?
Code:
int makeBet(char choice, int num){
printf("
What type of bet would you like to place? ");
printf("
Type n for number.
Type e for even/odd.
Type d for dozen.
[Code] ....
View 2 Replies
View Related
Aug 1, 2014
How to return as a pointer to a string?
View 5 Replies
View Related
May 1, 2013
I am trying to return a pointer from a method. Below is a sample of my code.
CSubnode * CTest::GetSubNode() {
return m_psubnode;//this is declared in CTest as CSunbnode * m_psubnode
}
//in another class
m_subnode = m_ptest->GetSubNode(); //m_subnode is declared as a pointer
Is this the correct why to return a pointer?
View 2 Replies
View Related
Sep 6, 2014
I am trying to pop the element on a vector off and return its value at the same time
vector.push_back();
Unfortunately that code only removes that element from the vector it does not return it
Is the only way to get the element and destroy it is to do this?
vector.back();
vector.pop_back();
View 1 Replies
View Related
Oct 6, 2014
My function has the following prototype:
std::vector<double> calculate_mag_response(double start_freq, double end_freq,
int N, std::vector<double> num, std::vector<double> den
The function should return a vector size N of magnitude responses in decibels of the transfer function defined by numerator and denominator vectors num and den. To adequately test, you should drive this with more transfer functions.
#include <vector>
#include <iostream>
#include <cstdlib>
#include <ifstream>
using namespace std;
int main(int argc,char *argv[]) {
vector<double> myNum, myDen, results;
[Code] ....
View 2 Replies
View Related
Nov 5, 2014
I need understanding the logic behind this function. The function is supposed to "Return a pointer to the character at the index given" . For example, what exactly are we declaring at "(char * const c, int index)"? where does "index" come from or equal to in the body of the function?
Code:
1
2
3
4
5
6
7
8
char * GetValueAtIndex(char * const c, int index)
{
int i = 0;
char *p = c;
while (i++ != index)
p++;
return p;
}
View 2 Replies
View Related
Jul 13, 2014
/*
* symboltable.c
*/
#include "symboltable.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "include/utlist.h"
[Code] ....
View 2 Replies
View Related
Oct 19, 2014
So I have a Binary Tree and I need to return a vector of integers (the nodes) of the heaviest path in the tree.
First, is it possible to do in C? Because I think a vector is an ADT in C++.
I've started writing something recursive, which worked for a balanced tree of height 1, and failed for longer height.
This is what I've written - [URL] ....
View 6 Replies
View Related
Jul 10, 2013
The error is unclear but suggests Its received a bad pointer from another heap. It references dbgheap.c line 1322 and assertion failure
I have two string vector functions the first is called from the main function, the second is called from the first.
Their purpose is to receive a string of text and numbers in a semi-specific format, which the main body of the code reads from a text file, and delaminates the data as to return the first variable in the string as the variable name and the second as the variable value. Along the way it filters out a lot of the unwanted whitespace and punctuation.
E.g "{ VariableNameA 123 }" would be returned as "VariableNameA" And "123"
The code works perfectly for most of the lines in the text file but fails on one particular line where the first variable is 25 characters long. Basically it works for anything 22 characters or less. There are never more than 4 elements in the vector and each element is never intended to be longer than 25 characters.
It fails trying to return from the second split function to the first split function.
Is there a limit to the size of each vector element? I'm struggling to find a way round this without having to rewrite the whole thing.
vector<string> split(const string &s, char delim) {
vector<string> elems;
split(s, delim, elems);
return elems;
[Code] ....
View 4 Replies
View Related
Oct 12, 2014
Okay, so for an assignment I need to write a function called find() that returns a reference to a vector. So I have vector <int> & find(string & key); If I do this, I get the obvious warning warning: reference to local variable 'lineNum' returned [enabled by default].
If I do vector<int> & find(string & key) const; I get a huge error that starts out like
In member function 'std::vector<int>& index_table::find(std::string&) const':
indextable.cpp:74:30: error: no match for 'operator='
Am I using the const identifier incorrectly?
View 5 Replies
View Related
Sep 26, 2013
question from chapter 11, qn 8 modern C programming by king
Write the following function: Code: int *find_largest(int a[], int n); When passed an array a of length n, the function will return a pointer to the array's largest element
Code:
#include <stdio.h>
int *find_largest(int a[], int n)
{
int i, x;
x = 0;
[Code].....
have traced the code line by line and it prints correctly up to line 31. However, when the program exits (line 35) , it goes to some other screen with very complex code and my output disappears.
Just to clarify: If I just run the code as is, there is no output. However, when I trace the code line by line, the output appears, but then disappears as the program exits My input was 1 2 3 4 5 6
View 11 Replies
View Related
Jun 29, 2014
I'm trying to write a function that returns a pointer to a dynamically allocated array. Here's my code:
#include <iostream>
using namespace std;
void IndexArray(int, int);
int main(){
int *arr, n;
[Code] ....
When I try running the program, I get the error
"Unable to start program 'D:C++FilesdynamicArraySolReleasedynamicArray.exe'. The system cannot find the file specified."
I'm honestly not sure if the issue is my program, or something with C++. At the moment, I cannot debug any of my programs or else I get the same exact error. I basically need to release everything without debugging it. I last used C++ about a year ago and I'm finally back in school, and so trying to get back into it. I use Microsoft Visual C++ 2010.
View 14 Replies
View Related
Sep 17, 2014
How to pass my array to the function and return it as a sorted vector. I'm kind of lost with the functions part.
Problem: Write a program that performs a sorting routine as discussed in class. Create an array of 10 integers (e.g., 63, 42, 27, 111, 55, 14, 66, 9, 75, 87). Pass this array to a separate function that sorts the integers and returns a vector containing the sorted integers. Use either the SELECTIONSORT algorithm or the INSERTIONSORT.
Code so far:
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <iomanip>
[Code]...
View 2 Replies
View Related
Sep 21, 2013
I have a function that I want to exit gracefully when an "error" occurs in an input file. My function declaration is:
Code: BSTnode *buildTree(FILE *fp)
The few lines that are causing the problems are:
Code: if(regcomp(®ex, to_find, REG_EXTENDED | REG_NEWLINE) != 0) {
fprintf(stderr, "Failed to compile regex '%s'
", to_find);
return EXIT_FAILURE;
}
I know that if I just use "return" by itself the warning goes away but fails to exit when the error occurs. I also believe this may not be the correct use of stderr. But I need the program to exit when an error has occurred.
View 9 Replies
View Related
Feb 7, 2014
I am making a function that will return a pointer to a long long variable. For example, I have the next variable prototype: Code: long long funcName(long long x, int s); I want to change the return value, and the first parameter to pointers to long long.
View 4 Replies
View Related
Mar 17, 2013
i need to return a struct pointer dynamically allocated inside a function call void function() which is done using 'out parameters' in following code
struct my_struct {
int x;
} void my_function( my_struct** result ) {
my_struct* x = new my_struct{ 10 };
//...
*result = x;
}
Now i have a doubt, so if i want to print the return value from struct pointer, should i need to print it in the void function() or in the caller the function...
View 3 Replies
View Related
Apr 25, 2014
I am writing a class Player which has several char arrays as private fields. I am trying to write a method which returns an array as a pointer, but doesn't alter the array in any way, thus the const.
Here is a snippet:
Code: class Player
{
private:
char state[MAX_STATE_CHAR + ONE_VALUE];
int rating;
char last[MAX_NAME_CHAR + ONE_VALUE];
char first[MAX_NAME_CHAR + ONE_VALUE];
int groupNumber = NEG_ONE;
public:
char * GetFirst() const
{
return first;
}
Visual studio is saying that the return type doesn't match.
View 3 Replies
View Related
May 21, 2013
The code below is supposed to fill, show, and revalue property. The fill function is supposed to return a pointer that creates a range of property values. The show function is supposed to show the property values entered and the revalued property values. I think part of the problem is the returned pointer from the fill function. Once that is cleared up, I think I will find more problems.
Code:
#include <iostream>
const int Max = 5;
// function prototypes
double fill_array(double ar[], int limit);
void show_array(double * begin, double * end);
[Code] .....
View 14 Replies
View Related
Sep 30, 2014
My problem is that I have two classes that both need members from each other, so I need to use forward declaration + pointers, etc. However, trying to access a vector from a pointer throws an error.
Here's the code:
for(int j = 0; j < level->GetCollisionObjects().size(); j++){
if(fr.intersects(level->GetCollisionObjects()[j])){
rotate = false;
}
}
level is a pointer to class Level. This function is inside class GamePiece. Class Level includes class GamePiece, but GamePiece needs access to the vector CollisionObjects. This function throws a vector size error, and I'm totally lost on what to do.
View 3 Replies
View Related
Mar 16, 2012
I have a pointer to a vector that contains instances of class Test:
Code:
vector<Test*>* testVec;
If I do this:
Code:
Test* one = new Test();
tectVec->push_back(one);
this crashes. What do I need to do to declare the dynamic memory so this works?
View 8 Replies
View Related
May 9, 2013
I have a pointer to a vector of objects, each object has an array and a couple of strings. how to access the data in the objects via the pointer.
Best tree::chooseSplit(vector <pgm> *ptr)
{
Best splits;
cout<<ptr[1].filePath; //not working!!!
}
filepath is a string in the pgm object. i also need to be able to access elements in an array that also exists in pgm.
View 2 Replies
View Related
May 9, 2013
I've got a struct called Node that contains, among other things, a pointer to a vector of pgm objects. (pgm is a class i've created)
struct Node {
int label;
vector <pgm> *ptr;
Node* lessNode;
Node* moreNode;
};
in another class, i create a vector and a Node and am having trouble assigning the pointer in the Node to point to my new vector.
vector <pgm> lessData;
Node* left;
left->ptr=&lessData;
This all compiles ok, but the last line in the code above causes a segmentation fault. I should mention Node is declared on its own in Node.h and what pgm is. including pgm.h in node.
View 2 Replies
View Related
Jul 29, 2013
I'm tying to create a program that evaluates all possible actions for a certain problem.
So what i'm basically trying to do is to create a sequence of actions, evaluate them to check if it's the best sequence, change the sequence, evaluate again and so on until all possible scenarios are exhausted, leaving the best one in the end.
My approach to this at first was to create a tree of all possible options and then evaluate each branch. Since there are a lot of possible cases i ran out of memory while the program was still creating the tree. I changed this to create just a branch, evaluate it and then modify it.
I was still getting memory problems. I declared a class tNode and declared a vector<tNode*> branch. Then i created all the nodes i needed for that branch with branch.push_back( new tNode() ). When i wanted to modify the branch i simply used branch.pop_back() and again a branch.push_back( new tNode() ). I figured i was getting the problem because although i clear the vector, i don't actually clear the reference in memory. Is this correct? If so, how can i actually delete the memory space and not just the pointer in the vector?
View 6 Replies
View Related