C++ :: Error In Iterator Declaration With Typename Map

Jun 24, 2014

I'm trying to make a function to show the content of maps as follows:

template<typename A, typename B>
void show_map(const std::map<A,B> &src) {
for( std::map<A,B>::iterator it=src.begin(); it!=src.end(); ++it ) {
cout << it->first << " ____ " << it->second << endl;
}
};

However, I got this error in the 'for' line: "error: expected ‘;’ before ‘it’" (and then errors that it is not declared, etc). I'm sure that there is no missing ; in other functions. If you try to write a random line before that you get no error there for example, always in the for.

It is there something that you need to do with iterators when you declare generic datatypes?

View 4 Replies


ADVERTISEMENT

Visual C++ :: Error Assigning Pointer To Iterator

Nov 27, 2014

im trying to port a code from vc6 to vs2013 and im having this error

Code:

Error11error C2440: 'initializing' : cannot convert from 'char *' to 'std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char>>>' on this line

Code:
vector<char>::iterator BufIt = (char*)lpBuffer;

what i do with this is to stack fragments of data of type char* coming from a socket in buffer to a vector that acts as buffer, I do this since I transfer big chunks of data and the data gets fragmented by the nature of the sockets, I stack the data once its complete I retrieve the final result from the vector.

this code worked flawlessly for long time but now Im trying to port and compiler throws this error, whats the new way to assign a char array pointer to a iterator so i can stack it in the vector.

View 5 Replies View Related

C/C++ :: Checking Typename In Templates

Mar 6, 2014

Suppose you have a templated class, such as

template <typename T>
class Matrix {
// some stuff and some methods
};

and let's say that you have some methods that need to do some type-dependent stuff, like, for example,

template <typename T>
Matrix<T> Matrix<T>::transpose() const {
// get this->rowCount, this->columnCount
// create a Matrix that has rowCount amount of columns and columnCount amount of rows
// copy (*this)[j][k] to theMatrix[k][j] (for all of the entries in *this)
// if the entries are complex, take the complex conjugate of them all
}

Would it be good practice to check explicitly for the typename parameter (or is this, somehow, defeating the purpose of templates)? std::cout << "I know that this is a design question, but it needs to be asked... ";

View 1 Replies View Related

C++ :: Declaration Syntax Error

Apr 20, 2012

I keep getting a "Declaration syntax error" at line ""int main()". Is there something wrong with my int main()? And how do I go about it? Here is the program:

#include<stdlib.h>
#include<iostream.h>
#include<stdio.h>
#include<math.h>
#include<conio.h>
float rung4(float x, float y, float h)
int main() {
float eps=0.00001;

[Code] .....

View 14 Replies View Related

C++ :: Error - Declaration Terminated Incorrect

Aug 6, 2014

PROGRAM:-
#include<fstream.h> //for reading and writing files
#include<conio.h> //for clrscr()
#include<string.h> //for string characters
#include<stdio.h> //for gets and puts function
#include<process.h> //for exit function
#include<iomanip.h> //for setw function
#include<dos.h> //for delay and sleep function

void main()
{ char ch,c=0,che=16;
int i=1,j=16;

[Code] .....

View 6 Replies View Related

C/C++ :: Declaration Syntax Error Handling

Jan 30, 2015

void main() {
     clrscr();  
     cout<<" Menu";
     cout<<"
1. Display all the employees' info.";
     cout<<"
2. Display specific employes' info.";
     cout<<"
3. Display employee with max salary.";

[code]....

Declaration syntax error at line 89, I don't get this everything is proper.

View 1 Replies View Related

C++ :: Using Library - Error With Struct Declaration

Jul 30, 2012

Okay so I'm writing a simple program - so far with just 1 header and 1 .cpp file to go with it. I'm getting strange errors saying that my struct hasn't been recognised even though I declare it in the header. The code involved is --

Code:
#include<stdio.h>
#include<iostream>
#include<sstream>
#include"bots.h"
//#include"prisonersDilemna.h"
//write program to battle multiple bots with a random choice generator
//and after all iterations post who comes out on top.

[Code] ....

||=== Build finished: 6 errors, 0 warnings ===|

How should the syntax be? Why does my program not recognise bot as an object type? Why can I not have a void method?

View 5 Replies View Related

C++ :: Reading STL File - Forward Declaration Error

Mar 21, 2013

I am using OpenCASCADE environment to read STL file! I face a problem, with forward declaration error with the following

void StlReadIn::STL_Import() {
std::string FileName;
std::cout<<"
Enter the file name
";
std::cin>>FileName;

[Code] .....

Error message:

stlreadin.cpp:26:47: error: invalid use of incomplete type ‘struct StlMesh_Mesh’
/usr/local/oce-0.9.1/include/oce/Handle_StlMesh_Mesh.hxx:23:7: error: forward declaration of ‘struct StlMesh_Mesh’

View 2 Replies View Related

C/C++ :: Error For Loop Initial Declaration Used Outside C99 Mode

Nov 13, 2013

I have this error while compiling the program.

Below is the code :

#include<stdio.h>
#include<stdlib.h>    
int main() {
    char* A = 0;
    char* tmp = 0;

[Code] ....

View 2 Replies View Related

C++ :: Error - Two Or More Data Types In Declaration Specifiers

Nov 24, 2014

i have the following error defines.h:14:23: error: two or more data types in declaration specifiers, the begining define.h source code is (the line 14 is in red):

Code:
/* $Id: defines.h 3492 2011-09-18 20:44:09Z nekral-guest $ */
/* some useful defines */
#ifndef _DEFINES_H_
#define _DEFINES_H_

[Code]....

View 8 Replies View Related

C :: Prime Number Function - Declaration Syntax Error

Jan 8, 2014

I wrote this program and compiled in turboc, but it gets error"declaration syntax error" .

Code:
#include <stdio.h>
int main()
int isprime(int n)
{
if(n<2)
return 0;

[Code] ....

View 5 Replies View Related

C/C++ :: Error Thrown By Compiler / Identifier Expected And Declaration Terminated Incorrectly

Jan 30, 2015

Error message is identifier expected and declaration terminated incorrectly.

//to define a class Employee
#include<iostream.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
class cEmp {

[code]....

View 7 Replies View Related

C++ :: How To Get Iterator To The I'th Element

Jun 17, 2013

I'm making my first steps in STL, and I have a few question:

Is there a way to get an iterator to the i'th element in the collection (set or list), instead of just to the end or the begin?

And another question: Let's say I have an iterator, pointing to some element in my collection, and I use erase() (which takes as parameter an iterator that points to the soon-to-be erased element), what happens to that iterator? will it now point to NULL?

View 7 Replies View Related

C/C++ :: How To Declare Iterator

Aug 20, 2014

I have this class with template:

template<template<class, class> class ContainerType>
class Movie {
public:
typedef ContainerType<Actor*, std::allocator<Actor*> > Container;

and i have a member func to find actor in movie according to actor id:

const Actor* findActor(int id) const {
typename Container::iterator it;
Actor* p(NULL);
it=actors.begin();
std::for_each(it,actors.end(),(*it)->getId()==id?p=*it:0);
if (p==*actors.end()) return NULL;
return p;
}

I receive error that no match for operator= in it.

How to declare correct iterator ?the type of actors is Container..

View 6 Replies View Related

C++ :: Cannot Dereference Iterator At The End Of List?

Apr 8, 2014

Why this code works
Elenco e1;
e1.add(Persona("a","b"));
e1.add(Persona("c","d"));
e1.add(Persona("e","f"));
e1.add(Persona("e","f"));
e1.remove(2); //list of 4 elements

but this not work?
Elenco e1;
e1.add(Persona("a","b"));
e1.add(Persona("c","d"));
e1.add(Persona("e","f"));
e1.remove(2); //list of 3 elements

This is remove method:
Persona Elenco:: remove(int pos){
list<Persona> ::iterator iter=l.begin();
for(int i=0 ;i<pos;i++){
iter++;
}
return *(l.erase(iter)); //erase ritorna un iterator
}

View 4 Replies View Related

C++ :: Use Of Iterator Across Files And Classes

Nov 18, 2013

Here's a few parts of a program I'm working at. It does compile, and it does work as expected. Anyway Eclipse Kepler marks one line as a bug with the remark Field 'befehl' could not be resolved. The bug sign didn't show up when both classes were in one file.

ScriptInterpreter maintains and processes a vector of Objects, initialised with example data. An iterator of the vector keeps track of the current position while various methods process the data. I've copied the relevant lines only.

I can live with a few wrongly bug-marked lines in Eclipse. What I don't want is any hidden errors that express at some time later.

Is there anything wrong with the code? Anything that's not recommended and compiles anyway? Is anything c++11-specific about the questionable line?

AtomicCommand.h
class AtomicCommand {
public:
int befehl;

[Code] .....

Note that line 9 has a bug sign, too. Eclipse doesn't recognise all my c++11 code.

View 4 Replies View Related

C++ :: How To Control Iterator Of Multimap

Feb 22, 2013

I am running some simulation, in which i need to control the iterator of a multimap, like

multimap<double, int> mapp;
......

int n=6;
for(int i=0; i<5; i++) {
for(auto it = mapp.begin()+i*n; it!=mapp.begin()+(i+1)*n; it++) {
......

However this way of controlling is not possible for multimap. Why and how the make it work? Do I need to overload the operator +?

View 14 Replies View Related

C++ :: Can't Seem To Make STL Iterator Class

May 24, 2013

I can't seem to make the STL iterator class work how I need it to.I am implementing a multi list graph and I need to iterate through my STL list of Vertex pointer objects. I keep getting the error:

Error 1 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_List_iterator<_Mylist>' (or there is no acceptable conversion) and the same for != for my terminating condition.

template <typename V, typename E>
void Graph<V, E>::InsertEdge(V from, V to, E edge) {
list<Vertex<V>*>::iterator iter;
for(iter = m_Vertices.begin(); iter != m_Vertices.end(); ++iter)

[code].....

View 2 Replies View Related

C++ :: Difference Between Iterator And Pointer

Jan 21, 2013

I just figured out that some std functions (for example: copy) need the resource and target objects have iterators to work. Otherwise, the compiler rejects. In case of two arrays, declared as:

double myA[100] = {};
array<double, 100> myB = {};

myA[0] is like a pointer, myB.begin() an iterator, if I do not make any mistake. So, what is exactly the difference between the pointer and the iterator here? They all give the access to elements.

If I need the target of copy to be an array like myA which cannot give an iterator, is there a way to make the command "copy" work for it?

View 9 Replies View Related

C++ :: Get Iterator Position After Find If

Jan 25, 2013

I want to get the iterator position after to use find if:

std::list<Texture*>::iterator result = find_if(
texturelist.begin(),
texturelist.end(),
std::bind2nd<CompareTEX>(CompareTEX(),n_tex));
if (result != texturelist.end()) {
return // position result
}

View 5 Replies View Related

C++ :: Vector Iterator Not Incrementable

May 25, 2013

I am receiving the error: Vector Iterator not incrementable. However, when erasing I'm already re-setting 'it' and pre-incrementing at the end of the while-clause.what's wrong?

vector<st>::iterator it = map[0][0].begin();
while(it != map[0][0].end()) {
if((*it).val == 5) {

[Code] .....

View 1 Replies View Related

C/C++ :: Manipulating Data Through Own Iterator

Apr 10, 2014

We were given a task to use lists and iterators. We were supposed to make them from scratch. I'm done with that. The problems that I'm having are as following:

1. I'm not able to access the list made of Course datatype which is present in each Student instance. Does this mean I need to make an iterator for that course list inside the student class?

2. Similarly since I don't have direct access to The course list so I added the course into the Student list through the student objects not through the iterator. How can I do it through the iterator?

3. Printing of a particular student and his courses is not happening as my iterator made for student only prints out the students, not the courses present in their courselist. How to do that?

Here's the code

#include <iostream>
#include <string>
using namespace std;
const int ILLEGAL_SIZE = 1;
const int OUT_OF_MEMORY = 2;
const int NO_SPACE = 3;
const int ILLEGAL_INDEX = 4;

[Code] .....

View 1 Replies View Related

C/C++ :: Storing Map Iterator In Vector?

Jan 10, 2013

I'm trying out the code below; it runs and produces the output I'd expect, but could it lead to undefined behavior?

To test with, I show the key and wait for user input; if the input doesn't match the value, the iterator is stored in the vector.

map<string, string> test;
map<string, string>::iterator it;  
vector<map<string, string>::iterator> bad_input;  
string input;  
test["key 1"] = "value 1";

[Code] ....

I am also interested in knowing if I can use an iterator to walk through the vector? I tried

vector<map<string, string>::iterator>::iterator v_it;  
for(v_it = bad_input.begin(); v_it != bad_input.end(); ++v_it)
    cout << v_it-> ??  

However, I couldn't figure out how to access "first" and "second" using this method. Is it possible to do so?

View 2 Replies View Related

C++ :: Segmentation Fault On Multimap Iterator

Jan 5, 2015

I have created a multimap for my road points. The key refers to the road number and the values are vec3 points that make up the road.

I am trying to iterate through the values of each key point and create a road segment at each point on the road (except the last), adjust the values to be on the road points and then store them in a std::vector.

The RoadSegment constructor creates 6 vec3 points and pushes them onto a std::vector.

I have a segmentation fault in the line marked in bold
[for(mapIt = it.first; mapIt != it.second; ++mapIt)]

When i take out the lines creating the new objects and pushing them onto the std::vector it works fine.

std::vector<glm::vec3>::iterator SegIt;
for(int i = 0; i < m_genRoads->getKeyValueData().size(); i++)
{
int numberDesired = m_genRoads->getMultimapData().count(i) - 1;

[Code]...

View 1 Replies View Related

C++ :: Efficient Algorithm On List Iterator

Mar 6, 2013

I have a list and a vector, for example like

list<int> mylist = {1, 1, 1, 0, 0, 1, 0, 0}
vector<int> myvec;

I want to create an efficient algorithm to erase all element of value "1", and give these elements to a vector. My code (not efficient) is as follows

for(auto it = mylist.begin(); it != mylist.end(); it++) {
if(*it == 1) {
myvec.push_back(*it);
it = mylist.erase(it);
if(it != mylist.begin())
it--;
}
}

View 8 Replies View Related

C++ :: Function To Find Out Iterator Of Certain Value In Vector

Sep 4, 2013

I defined the following function to find out the iterator of a certain value in the vector. I defined it as such so if the value exist in the vector then return a iterator of it, if not then return a pointer pointing to nonsense.:

vector<tIndex_t>::iterator unlabelTit(const tIndex_t index) {
for(vector<tIndex_t>::iterator it=unlabelT.begin(); it<unlabelT.end(); it++) {
if(index==*it) return it;
} return NULL;
}

But looks this one is not accepted by compiler, saying I cannot do this kind of comparison like:

unlabelTit(i)!=NULL;

so I just delete the return NULL; and then the compiler giving me warning about no return statement before }.

a pointer pointing to nonsense? how to do that?

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved