C++ :: Method Passes Values To A Vector But It Stays Empty?
Dec 10, 2014
I have two classes, one class requests another class to populate a vector with some data using getAvailableStreams() method:
vector<AutoRefPtr<ManifestStream> > availableStreams;
std::cout << "now asking for streams." << std::endl;
manifest->getAvailableStreams(&availableStreams);
std::cout << "got so many streams: " << availableStreams.size() << std::endl;
The other class passes another pre-populated vector back:
virtual RESULT getAvailableStreams(std::vector< AutoRefPtr<ManifestStream> >* availableStreams) {
availableStreams = static_cast<std::vector< AutoRefPtr<ManifestStream> >* >(myStreams); //myStreams contains 1 stream
I'm also adding a stream here directly just for testing purposes:
ManifestStream stream2;
availableStreams->push_back(AutoRefPtr<ManifestStream>(&stream2));
std::cout << "calling getAvailableStreams. Giving so many streams: " << myStreams->size() << ", " <<
availableStreams->size() << std::endl;
return result_OK;
}
If I run the code, I can see the following logs:
Now asking for streams. Calling getAvailableStreams.
Giving so many streams: 2, 2
got so many streams: 0
Why am I getting 0 streams when I exist the method? I just had 2 streams in availableStreams while I was inside the method, where have they disappeared?
View 6 Replies
ADVERTISEMENT
Oct 11, 2013
It has been a few years since I have had to do this, but I need to declare a method in my base class, but produce no code for it. Then when this library is used by my second project I will derive a class from this base class and put the code into it there. How is this possible? I used to know how but do not remember how now.
The library is a static library designed for linking with both 32bit and 64bit Windows applications to handle a lot of the tedious stuff with Windows programming. The method in question handles specific command inputs. However, since each program that uses this library will have different uses for these commands, I want to leave it up to the user to code their own handling, but require it to be coded in the derived class.
View 2 Replies
View Related
Apr 20, 2014
I'm having a problem filling a vector from a file. Basically, it is adding an empty element at the end. I'm new to Qt and haven't worked with file streams much so how to stop the stream before it adds the extra element.
void gui::get_data() {
mileage.clear();
QFile file(file_label->text() + ".txt");
QTextStream in(& file);
float m;
float g;
QString d;
[Code] ....
But, if I add another element to the vector and write that the file look like this.
//file after adding element
132654 0 02132014
132654 0 02132014
0 0
132998 22 02202014
I have it set to append at the moment so that is why the first line is repeated. I figure the problem is with if(in.atEnd()). I could fix it by deleting the last element right after adding it, but that seems like more of a hack than anything else.
View 3 Replies
View Related
Mar 3, 2013
I am forking 3 times in a loop like this but the variable "count" does not increment, it stays on '1' and therefore this is an infinite loop, and this simple thing dont make sense to me.
I have checked so that the pointer address is the correct one every loop.
Code:
void increase(int* x) {
*x += 1;
}
main() {
int pid, i, number = 0;
[Code] .....
View 8 Replies
View Related
Apr 4, 2013
Is it possible to create property which I can pass parameters? Here is what I would like to do:
__property double a = {read=getA("a"), write=setA("a")};
__property double b= {read=getB("c"), write=setB("c")};
double getA(char *a);
void setA(double value, char *a);
double getB(char *a);
void setB(double value, char*a);
View 3 Replies
View Related
Apr 2, 2015
I have this class, Prenumeratorius, it represents a subsriber in this context. Then I have a class Leidinys, which represents a newspaper:
class Leidinys {
private:
string kodas;
string pavadinimas;
double vienetoKaina;
[Code] .....
So in while loop it just reads data, Then I create Prenumeratorius object and store data in it, then I want to add it to correct place by using DėtiPrenumeratorių(), I will show it's content in just a moment. And the last method call - I just add element to another two way list of all subscribers.
So here is content of DėtiPrenumeratorių():
void LeidiniuSarasas::D/>ėtiPrenumeratorių(string kodas, Prenumeratorius &P) {
for(LeidiniuMazgas *dd = p; dd != NULL; dd = dd->Pirmyn()) {
if(dd->Imti().ImtiKodą() == kodas) {
dd->Imti().DėtiPrenumeratorių(P);
}
}
}
It just loops through all newspaprers and searches for the match. I actually tested this method, it works just fine, the problem is one step further:
As you can see, it calls another DėtiPrenumeratorių() method, this time that method puts Prenumeratorius in the vector I showed at the beginning.
The problem is, that when that method is over, vector's content dissapears, I debuged program and saw that, but I can't recognize what is wrong, I added & to all of my method's headers where it accepts that Prenumeratorius object. The same algorithm used to work with one way list.
View 4 Replies
View Related
Dec 4, 2013
This is my code: [tag]
Code:
#include <iostream>
#include <string>
#include <cstring>
#include <vector>
using namespace std;
[Code] .....
View 4 Replies
View Related
Jan 17, 2013
I've been trying for more than one month to access a method found in a library called libcocosnas_static.a. I'm using Cocos2d-X version 2.0.4. The library has been used many times by my company to make games using cocos2d-1.0.1-x-0.12.0 without any problem.
This is what I've done:
1- I added the include paths of the library to both eclipse and Android.mk
2- Included the .h file using #include "NASPlatformUtil.h"
3- Added the libcocosnas_static.a file to the proj.androidobjlocalarmeabi folder
4- Added "LOCAL_WHOLE_STATIC_LIBRARIES += cocosnas_static" to the Android.mk file
5- Called the function using: NASPlatformUtil:: openUrl("http://xxx.xxx.com/");
I can right click on the function, click Open Declaration and get it without any problem, but the compiler keeps on giving me that dreaded error...
View 3 Replies
View Related
Jun 9, 2013
I want to add this piece of code to a project. I have created a vector from values entered by a user. I want to then subtract each value from each other from the beginning to the end. For example if a user enters 10,4,3 the program will subtract the values in that order 10 - 4 - 3 and output 3 as the solution. I figured how to do it with addition but can't get it to output for subtraction.
#include <iostream>
#include <vector>
using namespace std;
[Code].....
View 5 Replies
View Related
Apr 17, 2014
Why does this generate an error:
Code: std::copy( vec.begin( ) , vec.end( ) , std::ostream_iterator<double>( " " , std::cout ) ); whereas this works fine:
Code: std::copy( vec.begin( ) , vec.end( ) , std::ostream_iterator<double>( std::cout , " " ) ); I know I can use this instead:
Code: for ( std::vector<double>::iterator it1 = vec.begin( ); it1 != vec.end( ); ++it1 ) std::cout << " " << *it1;
View 5 Replies
View Related
Mar 30, 2013
I am trying to assign a list of values to a vector:
vector<string> words;
words[] = {"one", "two", "three"};
This does not work. How can I accomplish it?
View 5 Replies
View Related
Mar 17, 2014
I wud like to delete multiple values from a vector using indexes as my values r not fixed they may change so using indexes i want to delete
For example: vector<int> v={1,2,3,4,5};
I want to erase 3,4,0 indexes
So resulting vector is 2,3
View 6 Replies
View Related
Apr 5, 2013
I'm trying to print values from a vector of a struct and I don't really know how to do that. Here is a simple code that I have for now to test how to add data to the vector then attempt to print it out.
#include <iostream>
#include <vector>
#include <string>
#include <deque>
#include <fstream>
using namespace std;
struct Employee//employee data
[Code]...
View 2 Replies
View Related
May 4, 2013
I can`t seem to store multiple values into my vector when a user keys in an input. Lets say a user inputs 1,2 as the first set and later keys in 3,4.
My vector gets overridden by 3 and 4. I'm trying to pass these values into a function to store them into a vector and use them in the function.
Below is my code snippet
int reconstructSecret(int x, int y) {
int getX,getY;
getX=x;
getY=y;
vector<int> myXCordVec;
vector<int> myYCordVec;
[Code] .....
View 6 Replies
View Related
Jun 21, 2014
I have a class that uses std::vector. I push back class objects onto the vector but when I try to cout the data members (with get functions) I get garbage values.
Here is the class:
#ifndef JOBS_H
#define JOBS_H
#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
using namespace std;
class Jobs{
[Code] ....
I know I am missing the implementation of several functions but I'm just testing my vector to see if it is working and it isn't. The getBlockValue() function should output 0 for each job. When I push back one object the output is 0. When I push back 2 objects the output is 0. However when I push back 3 objects I get random values. Why is this? I thought vectors were dynamic?
View 8 Replies
View Related
Nov 28, 2012
I am writing a program to play rock paper scissors, and I am trying to get a vector to store the result of a given round of play, and output it as a declaration as to who won. I can't figure out how to store the values in the vector properly, and how to use the vector as an argument to output the result of play.
Code:
#include <iostream>
#include <iomanip>
#include <ctime>
#include <vector>
#include <cstdlib>
#include <string>
using namespace std;
const string name[4] = {" ", "rock", "paper", "scissors"};
const string roundResult[3] = {"computer win", "player win", "tie"};
[Code]....
View 1 Replies
View Related
Dec 29, 2013
I am trying to seed a vector with 52 values ranging from 1 to 52. I already have the code written to seed the vector bu how to keep from repeating the same values from being seeded. This is for a five card stud game.
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<string>
#include<vector>
#include<ctime>
using namespace std;
[Code] ....
View 3 Replies
View Related
Mar 24, 2014
I'm trying to increment the values in a vector, not the vector size, based on variable input. Basically I have a vector of size 10, and all of its values are initialized at zero. The program counts the frequency of numbers 0-9 in a four digit user input. This is what I have (I want it to work so badly but the compiler says that I'm using a pointer to a function used in arithmetic):
for (int i=0; i < num_slots; ++i) {
++guess_frequency[guess[i]];
}
I just want to know if you can increment values within a vector:
E.g.
change
0 0 0 0 0 0 0 0 0 0
to
1 0 0 0 2 0 0 1 0 0
View 6 Replies
View Related
Jan 21, 2015
I have a function that rotates a vector 90 degrees. Only problem is, i never get negative values. For some strange reason, no matter what i do, the value of x is positive. And even if the x is negative. Once i put it into direction (struct with 2 values x and y) it turns again to positive. Im using VSC++2013 ultimate. At first direction was SDL_Point, so i thought it was SDL problem, but now it seems its something else.
if (c == '-') {
int x = direction.y;
x *= -1;
int y = direction.x;
direction = { x, y };
}
View 8 Replies
View Related
Aug 12, 2012
I'm trying to get my program to read a series of comma delimited values from a file into a vector. However, I am unsure how to actually go about doing this. I've posted my best guess below but it's really just a stab in the dark and I always receive a compiler error.
Code:
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
vector <string> v_input;
int main() {
ofstream fout ("Insert File Path Here.txt");
fout << "4, 8, 15, 16, 23, 42";
[Code] ....
View 3 Replies
View Related
Feb 2, 2015
I have a question similar to the one here: [URL] .....
The main difference is I would like to pass a method of derived class as a parameter to some other method in its template base class.
template <typename BaseType>
class Base {
public:
typedef void (Base::*Callback)(int A);
[Code] .....
The above is an example which does not compile. My compiler complains that the two BaseMethod() calls in DerivedMethod() are invalid uses of non-static member function.
Is this not possible to do, or is my syntax simply wrong? All I want is to be able to pass as an an argument to a method in the base class from the derived class some callback as a variable for the base class to invoke later.
View 2 Replies
View Related
Jul 22, 2013
A file is created but its empty. And when I first create an entry and then display all the entries, it does nothing.
#include<iostream>
#include<fstream>
#include<iomanip>
#include<string>
using namespace std;
class comp {
[Code] ....
View 2 Replies
View Related
Jun 30, 2014
We have been assigned to create an iTunes library. Everything compiles in my other .h file but my main is not happy with my object declaration. It keeps stating "primary expression before '{'". Here is my main code:
#include<iostream>
#include<string>
#include<fstream>
#include"myTunes.h"
using namespace std;
//function protocols
void read(string);
[Code] ......
View 1 Replies
View Related
May 4, 2013
This code:
#include <iostream>
class Foo {
};
int main() {
Foo foo;
std::cout << sizeof ( foo ) << std::endl;
std::cin.get();
return ( 0 );
}
produces this result: 1
Why is the size of an instance of Foo 1, although it doesn't have any member variables?
View 2 Replies
View Related
Feb 18, 2013
what is the empty state of queue?
View 5 Replies
View Related
Apr 2, 2014
So this is my working code with sql i want convert it so i can read it from xml, basiccl i need to fill empty list with xml column BrivDat..
var connStr = @"Data Source=(LocalDB)v11.0;" +
@"AttachDbFilename=C:dbaseAdaPlus.mdf;Integrated Security=True";
List<DateTime> Holidays = new List<DateTime>();
using (SqlConnection conn = new SqlConnection(connStr))
using (SqlCommand cmdd = new SqlCommand("select * from Brivdienas", conn))
[Code] ......
View 5 Replies
View Related