//Add_ship method bool fleet::add_ship(ship const & s) { ships.push_back(&s); (No matching member function for call to 'push_back') return true; }
The error is because of the declaration:
std::vector<ship*> ships;
The vector contains pointers to mutable ships, but the code passes a pointer to a const ship to push_back
. You either need to store const pointers in the vector:
std::vector<const ship*> ships;
Or pass a non const pointer to the push_back:
fleet::add_ship(ship & s) { ships.push_back(&s); (No matching member function for call to 'push_back') return true; }
Side note: move the above function to a cpp, move it to the body of the class, or declare/define it as inline, if you don’t want to get linker errors.
Related Posts:
- How to implement 2D vector array?
- What is the easiest way to initialize a std::vector with hardcoded elements?
- Vector of Vectors to create matrix
- How to find out if an item is present in a std::vector?
- How do I print out the contents of a vector?
- check if a std::vector contains a certain object?
- How to navigate through a vector using iterators? (C++)
- C++ for each, pulling from vector elements
- How do I erase an element from std::vector<> by index?
- Is it more efficient to copy a vector by reserving and copying, or by creating and swapping? [duplicate]
- How do I reverse a C++ vector?
- Debug assertion failed. C++ vector subscript out of range
- Pass a vector by reference C++
- Why there is no pop_front method in C++ std::vector?
- Initializing a two dimensional std::vector
- C++ – No matching member function for call to ‘push_back’
- Debug assertion failed. C++ vector subscript out of range
- Vector is not a Template?
- Displaying a vector of strings in C++
- ‘vector’ in namespace ‘std’ does not have a template type
- C++ error: Undefined symbols for architecture x86_64
- Vector of structs initialization
- Converting a vector
to string - vector
::size_type in C++ - Why use a new call with a C++ ‘vector’?
- Why doesn’t std::vector::push_front() exist?
- C++ delete vector, objects, free memory
- How to iterate over a vector?
- How to access the contents of a vector from a pointer to the vector in C++?
- Insert object at index of vector c++
- How to convert vector to array
- No operator << matches these operands
- Initialize empty vector in structure – c++
- splitting a string into an array in C++ without using vector
- What’s the most efficient way to erase duplicates and sort a vector?
- Best way to extract a subvector from a vector?
- Appending a vector to a vector
- How to initialize a vector of pointers
- C++ Erase vector element by value rather than by position?
- Correct way to work with vector of arrays
- C++ error: double free or corruption (fasttop)
- error C2106: ‘=’ : left operand must be l-value
- I get this error: “glibc detected”
- How to create a vector of class objects in C++?
- “vector” was not declared in this scope
- Vector declaration “expected parameter declarator”
- Why is this vector iterator not incrementable?
- Why can’t I make a vector of references?
- Displaying contents of a vector container in C++
- What is the size of sizeof(vector)? C++
- c++ vector bubble sort
- clearing a vector of pointers [duplicate]
- “Cannot allocate an object of abstract type” error
- How to create a dynamic array of integers
- What is meant with “const” at end of function declaration? [duplicate]
- What’s the C++ version of Java’s ArrayList
- What is the difference between “long”, “long long”, “long int”, and “long long int” in C++?
- ‘g++’ is not recognized as an internal or external command, operable program or batch file
- How do I convert a double into a string in C++?
- How to create timer events using C++ 11?
- How to concatenate two strings in C++?
- ‘g++’ is not recognized as an internal or external command, operable program or batch file
- What is the difference between const int*, const int * const, and int const *?
- How to convert a single char into an int [duplicate]
- Fatal error: iostream: No such file or directory in compiling C program using GCC
- Thread pooling in C++11
- Callback functions in C++
- Reading from text file until EOF repeats last line
- How does std::forward work? [duplicate]
- Examples of good gotos in C or C++
- Error: Jump to case label in switch statement
- What does int & mean
- Split a string into an array in C++
- Remove spaces from std::string in C++
- How to use glOrtho() in OpenGL?
- error: ‘ostream’ does not name a type
- Remove spaces from std::string in C++
- #pragma once vs include guards?
- Debug vs Release in CMake
- C++ Remove punctuation from String
- prototype for “….” does not match any in class “…”
- Cannot open Windows.h in Microsoft Visual Studio
- How can I get and use the header file
in my C++ program? - cin.eof() functionality
- Implementing a tree in C++
- Drawing Circle with OpenGL
- Run-Time Check Failure #2 – Stack around the variable ‘foo’ was corrupted
- How to implement “Press Any Key To Exit”
- Reading and writing binary file
- C++ : Exception occurred in script: basic_string::_S_construct NULL not valid
- Xcode 11.1: iostream’ file not found
- non-member function cannot have cv-qualifier
- too many initializers for ‘int [0]’ c++
- Why do I get: -9223372036854775808
- Return a 2d array from a function
- Linker error: “linker input file unused because linking not done”, undefined reference to a function in that file
- What is the difference among ios::app, out, and trunc in c++?
- Where can I find ‘winmm.lib’ (I’m using Visual Studio 2012)
- What is a `char*`?
- Does static constexpr variable inside a function make sense?