2014-01-14 117 views
0
Pacient& operator = (Pacient&p) { 
    cout << "Operator = Pacient" << endl; 
    delete [] this->nume; 
    this->nume = new char[strlen(p.nume)+1]; 
    strcpy_y(this->nume,strlen(p.nume)+1,p.nume); // ERROR 
    delete [] this->prenume; 
    this->prenume = new char[strlen(p.prenume)+1]; 
    strcpy_y(this->prenume,strlen(p.prenume)+1,p.prenume); // ERROR 
    this->varsta = p.varsta; 
    return *this; 
} 

1>
編譯 ... 1>
pacienti.cpp 1> F:\鮑勃\大學\學期III \ programareorientataobiect \項目的患者\項目\項目\ pacienti.cpp(24):錯誤C3861: 'strcpy_y':未找到標識符
1> F:\鮑勃\大學\學期III \ programareorientataobiect \項目患者\項目\項目\ pacienti.cpp(27) :錯誤C3861: 'strcpy_y':標識符找不到
錯誤C3861: 'strcpy_y':標識符找不到

我得到這個錯誤。爲什麼呢?我要做得到它擺脫不應該?

+5

什麼是'strcpy_y'呢? – juanchopanza

+0

我想'strncpy'。如果不是這樣,'strcpy_s'。 – Blindy

+0

您可以通過只使用的std :: string這裏 – paulm

回答

2

有沒有這樣的事情strcpy_y,至少不會在標準C++。

也許你的意思strcpy_sfrom WINAPI

的。如果strcpy_y是你自己創建一個功能,你需要又在哪裏#include文件聲明它。

爲什麼首先使用原始C風格的字符串?只需使用std::string分配這些LOCAT變量,所有的問題消失。使用operator=複製string秒。

+0

'的std :: string – 2014-01-14 19:06:42

+0

strncpy_s' **** ***** – paulm

+0

非常感謝爲自己省下不少麻煩!這是strcpy_s:d – user3195332

2

編譯器不知道什麼是strcpy_y聲明,因爲你沒有它之前的任何地方在當前轉換單元線。無論是

提供報關爲strcpy_y(例如#include相關的頭或轉發聲明它),或者如果你的意思是錯字固定電話的一些其他功能。

0

我想你幫它可以是: #include <string.h>

但我不建議strcpy_y使用在你的代碼,C++,因爲它不是。

+1

什麼是'strcpy_y'? –

+0

哦,我的錯誤。我認爲,我們已經談論strcpy_s。 –

相關問題