Folosesc ubuntu 16.04 când încerc să compilez programul cu
g++ -g principal.cpp -o principal
Aceasta este versiunea mea g++
g++ --versiune
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Drepturi de autor (C) 2019 Free Software Foundation, Inc.
Acesta este software gratuit; consultați sursa pentru condițiile de copiere. Nu este
garanție; nici măcar pentru VANTABILITATE sau ADEPTEREA PENTRU UN ANUMIT SCOP.
Primesc această eroare de compilare
main.cpp:8: referință nedefinită la `Helper::IsStringNumeric(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: eroare: ld a returnat 1 stare de ieșire
main.cpp:
#include „Helper.h”
#include <iostream>
#include <vector>
int main()
{
std::cout << Helper::IsStringNumeric("200");
}
Ajutor.h
#ifndef HELPER_H
#define HELPER_H
#include <vector>
#include <șir>
Ajutor de clasă
{
privat:
/* date */
public:
static bool IsStringNumeric(const std::string &str);
};
#endif
Helper.cpp
#include „Helper.h”
#include <șir>
#include <algoritm>
bool Helper::IsStringNumeric(const std::string &str)
{
std::string::const_iterator iterator = str.begin();
while (iterator != str.end() && std::isdigit(*iterator))
{
++iterator;
}
return !str.empty() && iterator == str.end();
}
Fișierele mele cpp și antet par corecte, așa că nu sunt sigur de ce primesc erori