C++ :: Error With Function With Objects As Parameters
Apr 9, 2013
I am creating code for a group project in my class. All my group members made a header file with an object in it with their functions. One of the functions in my partner's code uses a data member of mine in the function, so she has the function parameter a object of my object. (This isn't the code but for example)
class B {
friend class A;
void displayAthing(A object) {
cout<<object.thing<<endl;
}
I have this when I call the function in the cpp file
int main() {
A object;
B b;
b.displayAthing(object);
return 0;
}
However, when I compile, it gives me an error that the function does not take 1 arguments.
View 4 Replies
ADVERTISEMENT
Apr 11, 2014
I have a class called Question:
#include <string>
#include <vector>
using namespace std;
class Question {
string title;
vector<Thing*> posAns;
vector<Thing*> negAns;
[Code] ....
error: no instance of overloaded function 'std::vector::push_back()' matches the arguments list
argument types are (const Thing *)
object type is: std:: vector<Thing *, std::allocator<Thing *>>
So it cannot be constant, what if I just leave it non-constant? Will it be safe?
View 2 Replies
View Related
Jan 24, 2015
In my program I created three separate return functions. Each function is labeled:
int boxes(int x, int y);
int leftOver(int x, int y);
double avgItemsShipped(int x, int y, int z);
Is it bad programming practice to use 'x' and 'y' in all of my functions? Should I use the this keyword inside the function? We use this often in my Java class and I know it exists in C++, but I haven't actually seen it used (or used it myself yet).
View 3 Replies
View Related
Aug 27, 2013
What does collection of parameters as argument of a function in C mean? Also any place I can refer to find those parameters?
Googling gives me Parameters and Arguments But not really sure whether that is what is needed.
View 6 Replies
View Related
Mar 19, 2014
So in this function it is already passing the array into the function but the thing is one parameter being passed into the function and if so how do I go about passing 3 arrays as parameters into the function? Also the program only asks for a user entry of hours for three different cars so why would there be a point in making two additional arrays to be passed into the function?
#include <iostream>
#include <iomanip>
using namespace std;
//passing array into function
double calculateCharges(double hours[], int HoursArrayLocation);//call function
[Code] ....
View 12 Replies
View Related
Feb 22, 2015
So I was reading my book and it listed this piece of code. The first piece of code is in the book and the 2nd is just my test on the piece of code. I am curious as to why in the functions parameters there is a reference to aString. I've noticed that removing it has no affect on the outcome of the code.
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool isPalindrome (string & aString) {
[Code] ....
View 2 Replies
View Related
Jul 7, 2014
I'm asking how to create a function with default parameters with the possibility to init the parameters that you need.
Code Example :
#include <iostream>
int func(int a = 1, int b = 2, int c = 3, int d = 4) {
return a + b * c / d;
[Code] .....
View 3 Replies
View Related
Nov 19, 2013
So I'm writing a data structure from scratch as part of a university assignment in c++, and I have to write an iterator for it. The problem involves comparison between constant iterators and normal iterators, and I'm going about it in this way: I wrote a constructor of normal iterator which takes a const iterator as its only parameter, hoping that the comparison operator between two normal iterators will be enough:
btree_iterator(const_btree_iterator<T>&conv):_target(conv._target),_index(conv._index),_last(conv._last){}
(and somewhere else)
template <typename T>
bool operator!=(btree_iterator<T> one,btree_iterator<T> other){
return !(other == one);
}
and I'm testing it in this way:
btree<int> bl(5);//the data structure
auto iter = bl.begin();
iter != bl.cend(); //trying to compare iterator with const iterator
but apparently this is wrong, since the compiler tells me something along the line of "no function 'operator!=' which takes ......" It seems the constructor is alright, since the following works:
btree<int>::iterator i(bl.cend());
Am I getting something fundamentally wrong about it? How is this functionality actually implemented in C++ library containers like vector?
View 9 Replies
View Related
Nov 17, 2014
I noticed that when using variadic functions, if I pass the va_arg() as parameter to a function, the parameters get passed in reverse. Is that expected?
For example, the following code outputs
Code:
1 2
2 1
Code:
#include <iostream>
#include <stdarg.h>
void foo_func(int v1, int v2)
{
std::cout << v1 << " " << v2 << std::endl;
[Code] .....
View 3 Replies
View Related
Jun 30, 2012
Need setting up counters for this program which should
Given a file of text, assume that
a "word" is 1 or more consecutive, non-whitespace characters
a "sentence" is a series of words terminated by either a period, exclamation point, or question mark
Design a C++ program (using functions/passing parameters) that will
-interactively prompt for and read the name of an input file
-interactively prompt for and read a string to search for
-open the input file (using an input filestream variable) and with one pass through the file
-count the number of "words" in the file
-for each word, make sure all letters, except the first, are lower case - leave the first character unchanged
-count the number of "sentences" in the file
-count the number of letters in the file (A-Z,a-z)
-count the number of consonants in the file (consonants are letters that are not vowels - the vowels are: a, e, i, o, u, A, E, I, O, and U)
-count the number of nonwhitespace characters in the file that are NOT letters
-count the number of times the search string is found in the file (must be an exact match) - search for matches AFTER upper case letters have been coverted to lower case
View 2 Replies
View Related
Sep 20, 2014
The question is to write a program to add two time objects.
Here's what I did:
#include<iostream.h>
#include<conio.h>
class Time {
public:
int hours,minutes,seconds;
[Code] .....
There's an error in sum of hours in the output.
View 5 Replies
View Related
Feb 2, 2013
Is there anyway we can return 2 values from a called function. Example
Code:
float xxxx(float a, float b, float c, float d)
{///
///
///
}
void xxx() {
int e,f,g,h;
////
////
xxx(e,f,g,h);
}
So if I want for example a+b and c+d, can i return those 2 answer? I don't think its possible since I am new into C programming.
View 5 Replies
View Related
Dec 9, 2013
I have this code:
#include <iostream>
#include <vector>
#include <map>
#include <string>
using namespace std;
[Code]...
and it does not compile.
The error is:
test.cpp: In function ‘int main()’:
test.cpp:20:30: error: no matching function for call to ‘func1(std::vector<int>&)’
test.cpp:20:30: note: candidate is:
test.cpp:8:45: note: template<class T, class U> std::map<T, T> func1(U)
test.cpp:8:45: note: template argument deduction/substitution failed:
test.cpp:20:30: note: couldn't deduce template parameter ‘T’
View 3 Replies
View Related
Apr 9, 2014
I'm using the Visual C++ Express 2008 and i need to pass as parameters to a function characters coded in UTF 8. My environment is Windows 7. The editor of the VC++ write in UTF 8 or UTF 16? If it writes in UTF 16 how can i change it?
View 2 Replies
View Related
Oct 24, 2013
I have been experimenting with variadic templates with the aim of caching a call to a class method by storing away the object pointer, method pointer and parameters. I've actually had some reasonable success but have now hit a stumbling block. I now wish to wrap my parameters in a simple template class when I cache them. My success is as follows:
Using variadic template functions to store these pointers and paremeters;
I'm able to pass a method pointer and unwrapped parametersI'm able to pass wrapped parameters on their own.I'm NOT able to pass a method pointer and wrapped parameters I set up a little prototype project to demonstrate the issue and added comments above the function calls to indicate the compilation results. Here is the code:
Code:
#include "stdafx.h"
//////////////////////////////////////////////////
// Basic class with a simple method
//////////////////////////////////////////////////
class MyClass {
public:
char Method( int i, float f ) {
return 'A';
[code]....
But I'm convinced it should take three arguments, the method pointer and two wrapped parameters. Visual studio even suggested it should as shown below:
View 3 Replies
View Related
Feb 13, 2013
My goal is accessing c++ objects within c by using wrapper and externals. To get the pointer to the c++ object I use a type "void *".
But i get an error while linking: undefined reference to "create_mycpp".
Should I take an other way to access c++ objects?
Code:
//-------------------------------------
//mycpp.cpp
#include "mycpp.h"
Mycpp::void func(int i)
{
i += 1;
[Code] ....
View 7 Replies
View Related
Mar 16, 2013
What would be the correct way to call a function within main that has file pointer parameters?
function prototype: Code: void CalculateBoth(int num1, int num2, int*sumPtr, int *diffPtr);
View 2 Replies
View Related
Jun 22, 2013
I'm trying to write a simple Delegate class with a Bind() and Invoke() function. For now it only needs to support a void class function with no parameters. I've searched around and found quite a few exmaples, though, those class are heavily templated and I lose track trying to simplify it.
So far my code is following:
Code:
#include <windows.h>
class Test {
public:
void DoSomething() {
MessageBox(NULL, L"Test::DoSomething!", NULL, 0);
[Code] ....
The part I am having difficulty with is assigning &Test::DoSomething to the m_Callback variable.
&tObject::DoSomething works, yet _Callback which I pass &Test::DoSomething to does not work.
Also, why does the following line work:
Code:
m_Callback = &Wrapper<tObject, &tObject::DoSomething>;
When wrapper is like:
Code:
template<class tObject, void (tObject::*Func)()>
void Wrapper(void* Object)
Should it not be Wrapper<class-typename, parameter-1>(parameter-2) // This currently creates an error
View 2 Replies
View Related
Apr 18, 2013
I am having a problem with a program. I have a bunch of classes all derived from the same base class. I want to loop through a vector of objects, calling a function in each. The problem is that it doesn't matter which class the objects are, only the function defined in the base class is called.
I simplified the code as far as possible to replicate the problem. As you see, I would like a mix of numbers 1,2,3 as the output, however using the vector the only number output is 1. Here is a copy of the output by the way:
base->num() : 1
a->num() : 2
b->num() : 3
(*it)->num() : 1
(*it)->num() : 1
(*it)->num() : 1
I suspect this is the "slice" problem, because the vector is defined with pointers to the base class so it uses the base class functions? The question is how to get around it? How can I loop through a vector of objects sharing the same base class but calling each by their correct member functions?
Code:
#include <iostream>
#include <vector>
class Base {
public:
int num() { return 1;}
[Code] .....
View 5 Replies
View Related
Apr 23, 2013
Essentially, the 'Sequence' below uses linked lists to store data. If 'result' refers to the same sequence as 'seq1' or 'seq2', I want 'result' to refer to a new sequence. This new sequence can be default constructed (no copy of 'seq1' or 'seq2' is required). I can't seem to do this correctly. Also, the prototype of the function cannot be altered.
void fun(const Sequence& seq1, const Sequence& seq2, Sequence& result) {
// Check for reference to same sequence. If they are the same,
// create new sequence for 'result' to refer to
if ((&seq1 == &result) || (&seq2 == &result)) {
[Code] ......
View 4 Replies
View Related
Mar 6, 2014
I am trying to use std::sort to sort a vector of complex objects using a custom function. However, it keeps erroring "Unresolved overloaded function type".
encounter::encounter(){
// ... cut
std::sort (allpeople.begin(), allpeople.end(), sortByInit);}
bool encounter::sortByInit (character& a, character& b) {
if (a.getinit () == b.getinit ()) {
[Code] ....
View 6 Replies
View Related
Jul 6, 2014
error says "cannot convert 'int*' to 'int' in function main()
and also
type mismatch in parameter in function sort(int,int)
Heres the code:
#include<iostream.h>
#include<conio.h>
void main() {
void sort(int,int);
clrscr();
[Code] .....
View 11 Replies
View Related
Mar 19, 2013
I searched the web for error: C3867... and the discussions where murky or obscure.
My code excerpt is:
#pragma once
#include <windows.h>
#include <stdlib.h>
#include <process.h>
void PutUpfrmIO(void *);
namespace WordParsor {
[Code] .....
I get the generic message:
error C3867: 'WordParsor::Form1::PutUpfrmIO': function call missing argument list; use '&WordParsor::Form1::PutUpfrmIO' to create a pointer to memberc:userskingc++wordparsorwordparsorForm1.h... and the suggestion fix generate another error.
One person suggested the gcroot<> object wrapper... but I do not know how to modify/declair the function or its argument type.
View 2 Replies
View Related
Nov 12, 2014
This has been bothering me for a while now, and I finally put together an example:
#include <iostream>
#include <string>
using namespace::std;
[Code]....
In the code above, the two classes hold pointers to each other, and that's fine but it doesn't seem right since C++ prefers to pass by reference. Yes, it can still do that (see testbox and testball) but even that seems odd to me because still you need to use pointer notation for the enclosed object. Am I the only one who feels this way, and should I just get over it? Or am I missing something that would allow an object to hold a reference?
View 4 Replies
View Related
Jul 2, 2013
I have no error compiling, but running my project it stops before entering a function and debugging I have an error about Segmentation fault. The function:
Code:
1
2
3
4
5
6
7
Mat logGabor(matriz filter,Mat filter,double r_o,double theta_o,double sigma_theta, matriz radius,matriz theta,int cols,int rows,double sigma_r,int *padSize){
[Code]....
View 5 Replies
View Related
Jul 2, 2013
I have no error compiling, but running my project it stops before entering a function and debugging I have an error about Segmentation fault. The function:
Code:
Mat logGabor(matriz filter,Mat filter,double r_o,double theta_o,double sigma_theta,
matriz radius,matriz theta,int cols,int rows,double sigma_r,int *padSize){
Mat rpad;
int k=*padSize;
printf("Welcome to the function"); //Here the error
...
More info: I created the matriz as : typedef double** matriz;
and a createmat function that give back a double** and in this function I allocate space for matriz and works. In the main:
Code:
Mat chr-Rpad[4][5]; //chrOrient=4;chrScales=5
for(int i_or=1;i_or<chrOrient;i_or++){
for(int i_sc=1;i_sc<chrScales;i_sc++){
//some math calculation
chrRpad[i_or-1][i_sc-1]=abs(logGabor(filter,imftt2,r_o,theta_o,sigma_theta,radius,theta,cols,rows,sigma_r,padSize));
View 6 Replies
View Related