Advertisement
Guest User

Untitled

a guest
Mar 6th, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. template<typename T>
  2. void hash_queue(queue<size_t>& q){
  3. q.push( typeid(T).hash_code() );
  4. }
  5.  
  6. template<typename T, typename... Ts>
  7. void hash_queue(queue<size_t>& q){
  8. hash_queue<Ts...>(q);
  9. q.push( typeid(T).hash_code() );
  10. }
  11.  
  12. int main(){
  13. queue<size_t> q;
  14. hash_queue<int, float, double>(q);
  15. return 0;
  16. }
  17.  
  18. main.cpp: In instantiation of ‘void hash_queue(std::queue<long unsigned int>&) [with T = float; Ts = {double}]’:
  19. main.cpp:19:22: required from ‘void hash_queue(std::queue<long unsigned int>&) [with T = int; Ts = {float, double}]’
  20. main.cpp:25:35: required from here
  21. main.cpp:19:22: error: call of overloaded ‘hash_queue(std::queue<long unsigned int>&)’ is ambiguous
  22. hash_queue<Ts...>(q);
  23. ^
  24. main.cpp:19:22: note: candidates are:
  25. main.cpp:13:6: note: void hash_queue(std::queue<long unsigned int>&) [with T = double]
  26. void hash_queue(queue<size_t>& q){
  27. ^
  28. main.cpp:18:6: note: void hash_queue(std::queue<long unsigned int>&) [with T = double; Ts = {}]
  29. void hash_queue(queue<size_t>& q){
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement