Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
g++ -c AES.cpp -o AES.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"
g++ -c AES.cpp -o AES.o
In file included from DataBuffer.h:27,from AES.h:21,from AES.cpp:18:ByteString.h: In static member function ‘static int std::char_traits::compare(const unsigned char*, const unsigned char*, size_t)’:ByteString.h:35: error: ‘memcmp’ was not declared in this scopeByteString.h: In static member function ‘static unsigned char* std::char_traits::copy(unsigned char*, const unsigned char*, size_t)’:ByteString.h:39: error: ‘memcpy’ was not declared in this scopeByteString.h: In static member function ‘static unsigned char* std::char_traits::move(unsigned char*, const unsigned char*, size_t)’:ByteString.h:43: error: ‘memmove’ was not declared in this scopeByteString.h: In static member function ‘static unsigned char* std::char_traits::assign(unsigned char*, size_t, char)’:ByteString.h:47: error: ‘memset’ was not declared in this scopeByteString.h: In static member function ‘static const unsigned char* std::char_traits::find(const unsigned char*, size_t, const char&)’:ByteString.h:51: error: ‘memchr’ was not declared in this scopeByteString.h: In static member function ‘static int std::char_traits::eof()’:ByteString.h:55: error: ‘EOF’ was not declared in this scopeByteString.h: In static member function ‘static int std::char_traits::not_eof(const int&)’:ByteString.h:67: error: ‘EOF’ was not declared in this scope
/* Quick template specialization for char_traits for bytes. */#include <string>namespace std { template<> struct char_traits< unsigned char > { typedef unsigned char char_type; typedef int int_type; typedef streampos pos_type; typedef streamoff off_type; typedef mbstate_t state_type; static void assign( unsigned char & c1, const unsigned char & c2 ) { c1 = c2; } static unsigned char * assign( unsigned char * s, size_t n, unsigned char c ) { unsigned char * p = s; while( n-- ) assign( *p++, c ); return s; } static bool eq( const unsigned char & c1, const unsigned char & c2 ) { return c1 == c2; } static bool lt( const unsigned char & c1, const unsigned char & c2 ) { return c1 < c2; } // static size_t length( const unsigned char * s ) { // } static int compare( const unsigned char * s1, const unsigned char * s2, size_t n ) { return memcmp( s1, s2, n ); } static unsigned char * copy( unsigned char *s1, const unsigned char *s2, size_t n ) { return ( unsigned char * ) memcpy( s1, s2, n ); } static unsigned char * move( unsigned char *s1, const unsigned char *s2, size_t n ) { return ( unsigned char * ) memmove( s1, s2, n ); } static unsigned char * assign( unsigned char *s, size_t n, char c ) { return ( unsigned char * ) memset( s,c,n ); } static const unsigned char * find( const unsigned char *s, size_t n, const char& c ) { return ( const unsigned char * ) memchr( s,c,n ); } static int eof() { return EOF; } static int to_int_type( const unsigned char& c ) { return ( int ) c; } static char to_char_type( const int & i ) { return ( unsigned char ) i; } static int not_eof( const int & i ) { return ( i != EOF ) ? 1 : !EOF; } static bool eq_int_type( const int & i1, const int & i2 ) { return i1 == i2; } };}//typedef std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> > ByteString;typedef std::basic_string<unsigned char> ByteString;
#include <cstring>#include <cstdio>
char *keyString = "KEYx";keyString[3] = i - 1 + '1';
DataBuffer var;var = "bla-bla-bla";
int main(void) { char *keyString1 = "KEYx"; char keyString2[] = "KEYx"; const char *keyString3 = "KEYx"; return 0;}
$ g++ string_constant.cstring_constant.c: In function ‘int main()’:string_constant.c:2: warning: deprecated conversion from string constant to ‘char*’
char keyString[] = "KEYx";
А второе как поправить? Отключать предупреждения не хотелось бы, мало ли потом какие баги попрут.
DataBuffer& operator =(const DataBuffer& buffer); DataBuffer& operator =(char *rvalue); DataBuffer& operator =(const ByteString& string);
//=============================================================================// Assignment operator for rvalue of type DataBufferDataBuffer& DataBuffer::operator = (const DataBuffer& buffer){ deleteHexString(); ByteString::operator=(buffer); return *this;}//=============================================================================// Assignment operator for rvalue of type char * (that is, string)DataBuffer& DataBuffer::operator = (char *rvalue){ parse(rvalue, strlen(rvalue)); return *this;}//=============================================================================// Assignment operator for rvalue of type ByteStringDataBuffer& DataBuffer::operator = (const ByteString& string){ ByteString::operator =(string); return *this;}
DataBuffer& operator =(char const *rvalue);
//=============================================================================// Assignment operator for rvalue of type char * (that is, string)DataBuffer& DataBuffer::operator = (char const *rvalue){ parse(rvalue, strlen(rvalue)); return *this;}
Страница сгенерирована за 0.082 секунд. Запросов: 21.