static 型別的變數需要在類外實現
例子:primerc++13章strvec的實現
/tmp/cchwcyce.o:在函式『strvec::
push_back
(std::__cxx11::basic_string<
char
, std::char_traits<
char
>
, std::allocator<
char
>
>
const
&)』中:
strvec.cpp:
(.text+
0x38
):對『strvec::alloc[abi:cxx11]』未定義的引用
/tmp/cchwcyce.o:在函式『strvec::
alloc_n_copy
(std::__cxx11::basic_string<
char
, std::char_traits<
char
>
, std::allocator<
char
>
>
const
*, std::__cxx11::basic_string<
char
, std::char_traits<
char
>
, std::allocator<
char
>
>
const
*)』中:
strvec.cpp:
(.text+
0x82
):對『strvec::alloc[abi:cxx11]』未定義的引用
/tmp/cchwcyce.o:在函式『strvec::
free
()』中:
strvec.cpp:
(.text+
0x11e
):對『strvec::alloc[abi:cxx11]』未定義的引用
strvec.cpp:
(.text+
0x153
):對『strvec::alloc[abi:cxx11]』未定義的引用
/tmp/cchwcyce.o:在函式『strvec::
reallocate
()』中:
strvec.cpp:
(.text+
0x2c0
):對『strvec::alloc[abi:cxx11]』未定義的引用
/tmp/cchwcyce.o:strvec.cpp:
(.text+
0x32f
): 跟著更多未定義的參考到 strvec::alloc[abi:cxx11]
collect2: error: ld returned 1 exit status
之前寫單例模式的時候遇到過一次,沒搞清除也沒有記住,給自己乙個差評。
修改在類外實現:allocatorstrvec::alloc;
獲得隨機數
#include
#include
intrandom()
must take exactly one argument
輸入輸出運算子必須是非成員函式,可以在類外面定義,然後在類裡宣告為友元。
『std::istream& sales_data::
operator
>>
(std::istream&
, sales_data&
)』 must take exactly one argument
istream&
operator
>>
(istream &is, sales_data& sd)
std::string isbn()
//error
/* *修改為
*std::string isbn() const
*/private
: std::string isbn;
double price;};
bool
operator
<
(const sales_data& sd1,
const sales_data& sd2)
iOS 除錯問題記錄 一
區 解決辦法 target general linked frameworks and libaries 找到corefoundation.framework 刪除之後從新新增 設定狀態status optional 然後clean 一下工程 執行 ok 解決辦法 退出xcode 然後重啟電腦 這兩...
iOS 除錯問題記錄 三
問題原因 工程提示 warning directory not found for option 這種提示,通常是由於新增了第三方sdk,但是後來改了個名字或者去掉了sdk,但是在 build settings search paths library search paths 中仍然沒有刪除掉對應...
linux 驅動除錯問題記錄
檔案屬性 rwx rwx rwx sudo chmod 777 dev 其中 r 4,w 2,x 1 詳細sudo dmesg詳細 但是通過改變printk的列印級別沒有除錯成功echo 8 4 1 7 proc sys kernel printk其中數值都可以更改 cat proc sys ker...