logo
down
shadow

Read and straighten multiple images from vector string, get error: "vector subscript out of range" [c++]


Read and straighten multiple images from vector string, get error: "vector subscript out of range" [c++]

By : user2957101
Date : November 23 2020, 01:01 AM
seems to work fine one of the problems in your code is, that you never check the results of your operations, there should be:
code :
M[i] = imread("Klasa_pierwsza\\" + lista[i]);
if ( M[i].empty() )
{
     cerr << "Klasa_pierwsza\\" + lista[i] << " could not be loaded !" << endl;
     continue;
}

// ...

std::vector<cv::Vec4i> lines;
cv::HoughLinesP(bw, lines, 1, CV_PI / 180, 70, 30, 10);
if ( lines.size() < 4 )
{
     cerr << "Klasa_pierwsza\\" + lista[i] << " did not have 4 lines !" << endl;
     continue;
}
cv::Vec4i v1 = lines[3]; // you have an access violation (out of bounds) here.


Share : facebook icon twitter icon
Getting a "vector subscript out of range" error when passing a vector into a function: c++

Getting a "vector subscript out of range" error when passing a vector into a function: c++


By : chah
Date : March 29 2020, 07:55 AM
fixed the issue. Will look into that further The error is caused by accessing by index vector element that does not exist. In you case lexed[i] should be valid. So, the only possible issue may be with empty labels vector. Validate this vector before accessing its elements, for example
code :
myassembler.add(lexed[i].labels.empty() ? "" : lexed[i].labels[0],
    lexed[i].name, tokens, i);
for (size_t i = 0; i < lexed.size(); i++)
My program returns the error "vector subscript out of range."

My program returns the error "vector subscript out of range."


By : erader103
Date : March 29 2020, 07:55 AM
wish helps you When People[i].name[i] = input; in the for loop, People[i].name is still a empty vector, call operator[] on it will be UB. You might resize them in advance, or use push_back.
code :
for (int i = 0; i < PEOPLE_NUM; i++) {
    getline(inputFile, input, ',');
    People[i].name[i] = input;        // People[i].name is still empty here 
    getline(inputFile, input2, ',');
    People[i].birthdate[i] = input2;  // People[i].birthdate is still empty here
    cout << i;
}
for (int i = 0; i < PEOPLE_NUM; i++) {
    getline(inputFile, input, ',');
    People[i].name.push_back(input); 
    //            ~~~~~~~~~~
    getline(inputFile, input2, ',');
    People[i].birthdate.push_back(input2);
    //                 ~~~~~~~~~~
    cout << i;
}
for (int i = 0; i < PEOPLE_NUM; i++) {
    Date birthday(People[i].birthdate[i].getDay(), People[i].birthdate[i].getMonth(), Date().getYear());  // typo of birthdate?
    //                      ~~~~~~~~~                        ~~~~~~~~~
    People[i].birthday.push_back(birthday);
    //                 ~~~~~~~~~~
} // Not finished yet, but turns birthdate into birthday
Why when I'm trying to insert into a vector of sets it's telling me "vector subscript out of range"?

Why when I'm trying to insert into a vector of sets it's telling me "vector subscript out of range"?


By : Lorker
Date : March 29 2020, 07:55 AM
With these it helps For example , I prefer to use method resize before assigning a value to vector:
code :
MY_VECTOR_SETS.resize(5) //this makes your vector resize to size of 5;
MY_VECTOR_SETS[0] = 1; //assign value 1 to first element of vector
Creating Power set from a given vector<string> with error:"Vector subscript out of range"

Creating Power set from a given vector<string> with error:"Vector subscript out of range"


By : Patrick Berry
Date : March 29 2020, 07:55 AM
I wish did fix the issue. I have tested your code, with minimal mods, namely I changed pointers to references. I found no fault with it.
The problem lies elsewhere, probably in your initialization of the input vectors.
code :
#include <string>
#include <vector>

int func(std::vector<std::string>& NFAStates, std::vector<std::string> &PowerSet)
{
    int state_lines = NFAStates.size();
    //for (int i = 1; i < pow(2, state_lines); i++)
    for (int i = 1; i < (1 << state_lines); i++)  // this is more effective for powers of 2
    {
        for (int j = 0; j < state_lines; j++)
        {
            if (i &(1 << j) && !PowerSet[i].empty()) // <-- can't access [i] if PowerSet is empty.
            {
                PowerSet[i].append("_");
                PowerSet[i].append(NFAStates[j]);
            }
            else if (i &(1 << j) && PowerSet[i].empty())
                PowerSet.push_back(NFAStates[j]);
        }
        std::cout << PowerSet[i] << std::endl; // <-- can't access [i] if PowerSet is empty.
    }
    return 0;
}
int main()
{
    std::vector<std::string> NFAStates{ "S0", "S1", "S2" };
    std::vector<std::string> PowerSet{"0", "1", "2", "3", "4", "5", "6", "7" };
    return func(NFAStates, PowerSet);
}
Returning vector from function gives "vector subscript out of range" error

Returning vector from function gives "vector subscript out of range" error


By : Danny_UKDM
Date : March 29 2020, 07:55 AM
seems to work fine You should be using a debugger for cases like this.
I can't find anything logically wrong with your code. But when using vectors you should always check to see if you are accessing an index beyond the size of the vector.
Related Posts Related Posts :
  • C++ Dynamically Allocated Array; Size set by quantity of user input; Writing to a file;
  • enums to be defined as uint8_t variables in structure
  • C++ Overloaded Constructor issues
  • Fast CSV parser in C++
  • MFC GUI application rewrite - threading, messaging, Document/View, etc. Advice needed
  • How to get frame feed of a video in OpenCV?
  • saving data structure c++ to disk
  • Vector of pointers: some clarification needed
  • scaling a bitmap without losing quality
  • How to evaluate a function directly?
  • QNetworkAccessManager: How to change post data at createRequest function
  • Returning std::move of a local variable
  • Is there a fast linear SVM library with a good C++ interface?
  • What is the purpose of name mangling in C++?
  • C++ Why the void function is not working eventhough I called it?
  • How the pointer and the pointer's adress can share the same memory adress?
  • error C2220: warning treated as error - no 'object' file generated
  • exception of strcpy function in c++ console program
  • How to access USB barcode scanner data directly from USB port using C/C++ without driver
  • Under which circumstances will std::vector.clear() call a destructor?
  • Template partial specialisation and dependent names
  • best way to share data between c codes
  • C++ ignores if statement conditions
  • How to set the argv[ ] to be case-insensitive in a Win32 Console Application?
  • How to fix error "clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)"?
  • C++ How do I print a .txt file verbatim?
  • Creating two dimensional array of class
  • How do I correctly use COMMTIMEOUTS with OVERLAPPED IO mode reading from a Serial port
  • An assert macro which expands to static_assert when possible?
  • How to write a copyconstructor for a class which has HANDLE as a member in win32 c++ application?
  • C++ saving info such as tree in a file
  • Transforming an expression template tree
  • How to overload an operator with multiple parameters like a + b + c?
  • C++ 11 with Raspberry Pi performances
  • Make a C++ class look like a numpy array using swig
  • Postfix incrementer overloading for nested enumerated types
  • Is there a tidy way of associating metadata with functions in C++
  • QObject::installEventFilter(): Cannot filter events for objects in a different thread
  • LNK2005 error with Zxing C++
  • C++ Doubly Linked List with Pointers: Object of class isn't constructed properly
  • Using a random string generator in c++ constructor
  • What should I use instead of void as one of the alternative types in an variant?
  • C++ return value from multithreads using reference
  • How to connect multiple TCP IP clients to same server port using c++
  • Defaul compiler generates the reference operator (In C++)?
  • Unable to change directory time stamp after using FILE_FLAG_BACKUP_SEMANTICS
  • vector handling displaying output
  • WSAGetLastError returns WSAENOTSOCK - Cause?
  • C++: How to overload pow for user type?
  • C++ using arrays as multidimensional despite initalising it as 1D with pointer
  • How negate std::is_integral for use in tag dispatch?
  • Retrieve serial number from USB memory (Windows environment c++)
  • g++ error: invalid preprocessing directive #INCLUDE
  • C++ What is the std::for_each() function parameter type?
  • C++: Read individual lines from text file, sort words alphabetically
  • Saving 'this' address into a variable
  • c++ command line arguments in ubuntu terminal
  • Convert "Cartesian coordinates" to "polar coordinates with respect to user specified origin"
  • In what order are local scoped objects destructed?
  • How to use SDL_MapRGB with SDL 2.0
  • shadow
    Privacy Policy - Terms - Contact Us © ourworld-yourmove.org